我的直觉告诉我,将一种格式放在另一种格式中是错误的,但我似乎没有提出具体的理由.
<root> <stuff> thing </stuff> <more> <[!CDATA[{"a":["b","c"]}]]> </more> </root>
而不是将它放在xml中
<root> <stuff> thing </stuff> <more> <a> b </a> <a> c </a> </more> </root>
这两个部分在逻辑上将被不同的代码解析,但是作为一种交换格式,混合和匹配语法是否可行?
如果我们有一个解析JSON响应的现有端点,您的答案是否会改变?我们必须重新编码这个端点进行XML摄取.
使用两种格式的交换格式会给想要与您进行互动的人们带来额外的负担.现在他们需要一个XML解析器和一个JSON解析器.
这也使得人们更难以格式化格式,因为在考虑文件的不同部分时,他们必须精神上切换齿轮.
最后,你将无法轻松地做一下整个结构的事情.例如,您不能使用XPath来抓取JSON位,也不能将整个响应视为JavaScript对象.通过混合两种格式,您在处理数据时会遇到“最糟糕的两个世界”问题.