选型的唯一判据是对方的接口文档:它要 XML 就必须给 XML,因为 XML 能提供 JSON 没有的三样东西——元素属性、命名空间和结构校验定义。只是传一层层的键值数据时用 JSON,读写都更省事。互转一定伴随信息损失,别指望来回倒还能完全一致。
一、三个只有 XML 能扛的点
- 属性:同一个元素上挂多个修饰信息,JSON 只能改成子字段,语义就变了。
- 命名空间:两套同名标签要共存时,靠命名空间区分,JSON 只能人工改键名。
- 结构约束:有正式的模式定义可供双方核对字段必填与取值范围。
| 需求 | 建议 | 原因 |
|---|---|---|
| 前后端传层级数据 | JSON | 结构简单,体积更小 |
| 带属性的标记语言 | XML | 属性无处安放 |
| 对接老业务系统 | XML | 它只认这个 |
二、互转时会丢什么
- 属性常被加前缀塞进对象里,看着在,位置和类型已经变了。
- 元素的文字内容与子元素混排时,转换规则会把它拆成一个特殊键。
- 注释通常直接消失,别把说明写在注释里指望对方看到。
三、动手前做这三步
- 先拿对方一份成功样例,比对着写,不要凭字段名猜。
- 用 JSON格式化 检查自己这份是否合法,报错会指出行列位置。
- 再用 XML转换 看结构是否被完整保留,逐段比对。
- 记录条数很多时,扁平化成一张表再交,比嵌套结构好核对。
四、别做这几件事
- 别手工缩进对齐:看着整齐不等于合法,引号与逗号错位就是解析失败。
- 别把数字写成带前导零的字符串又转成数值:编号会被吃掉位数。
- 别混用两种格式发同一份数据:版本一多必然对不上,选定一种写进交接说明。
五、一句话结论
能选 JSON 就选 JSON。必须留 XML 的情况只有一种:对方接口点名要它,或者你确实需要属性、命名空间和结构校验。
常见问题
问:能不能给我一个通用的转换规则?
答:没有通用无损规则,以对方接口文档为准。
问:手机上能改这类文本吗?
答:能,浏览器打开面板粘贴即可,长文件建议在电脑上处理。
问:中文会不会变乱码?
答:要注意编码声明与实际保存编码是否一致,两边不一致才会出问题。
本站能力与限额说明
站内 XML转换 负责格式与查看、JSON格式化 负责校验与美化,粘贴在浏览器本地即可完成;转换在服务器端完成,服务器装有可匹配的中文字体,特殊字体可能回退,涉密材料请自行评估是否上传。
不提供翻译与业务字段校验,也不替你判断接口该用哪种格式;结构合法性可以查,内容对不对仍要靠人工核。
游客与未充值注册用户单文件上限 8MB、每天 5 次成功转换;充值 VIP 会员后单文件上限提高到 20~50MB(随档位递增),转换次数不限,各档当前售价与额度以 会员页 为准。文件处理完保留 24 小时,到期自动清理,成品请当天下载。