数据交换的两个真正选择是XML和JSON。我已经广泛地与这两者合作过,这些天JSON是我的首选。
在这两者中,我认为JSON在除一个之外的所有方面都胜过XML。JSON更精简,更易于阅读。它更适合表示数据格式,因为它是专门为将标签应用于离散数据单元而构建的。JSON解析器编写起来简单得多,所需代码也少得多。我发现JSON支持的有限类型集非常适合数据交换。JSON不受允许文档标记的遗留语义的影响。
此外,如果您的客户机使用JavaScript,则对JSON的支持是内在的。
XML的唯一优势是,可能有更多更好的工具来处理这种格式的数据。不过,必须说JSON非常简单,不需要工具。
第三种选择可能是URL编码的关键字/值对,但我认为您很快就会发现这太有限了。
就我的200美分。
你也可能对我的轻量级开源无障碍感兴趣
JSON parser
.
编辑:2010-08-10 00:43
对于使用JS eval的安全性的评论,下面是
JSON website
可能有兴趣:
要将JSON文本转换为对象,
可以使用eval()函数。
编译器。因为JSON是一个合适的
JavaScript的子集,编译器
生成对象结构。文本
在
JavaScript的语法。
var myObject=eval('('+myJSONtext+
')');
eval函数非常快。
任何JavaScript程序,这样就可以
是安全问题。eval的用法是
当源被信任时指示
而且很有能力。使用起来安全多了
一个JSON解析器。在web应用程序中
通过XMLHttpRequest,通信是
服务器的JSON不严格
编码,如果没有
严格验证
输入,则它可能传递无效的
危险的剧本。eval函数
将执行脚本,释放
它的恶意。
应该使用。JSON解析器将
只识别JSON文本,拒绝
所有脚本。在提供
本地JSON支持,JSON解析器是
预期本机JSON支持将
包含在下一个ECMAScript中
标准。