使用 Java 和 JavaScript 处理消息:JSON 还是 XML?
Posted
技术标签:
【中文标题】使用 Java 和 JavaScript 处理消息:JSON 还是 XML?【英文标题】:Handling messages with Java and JavaScript: JSON or XML? 【发布时间】:2012-01-17 20:23:33 【问题描述】:我目前正在处理一个需要一些服务器-客户端通信的项目。我们计划在服务器端使用 Websockets 和 Java 服务器(Jetty)。因此,发送的消息必须使用来自服务器的 Java 和来自客户端的 javascript 进行解释。
现在我们正在考虑一个协议以及消息应该具有的结构。我们已经有了一个使用 XML 消息的参考实现。但由于 JSON 旨在与 JavaScript 一起使用,我们也在考虑使用 JSON-Strings 的可能性。
消息将包含由 XML 字符串和处理该数据所需的一些元信息组成的数据(即,将其存储在数据库中,重定向到其他客户端...)。如果消息处理(解析和创建)在服务器端和客户端都能够简单快速地处理,这一点很重要,因为应用程序应该具有实时速度。
由于我们没有时间测试这两种技术,我很乐意根据个人经验或技术方面提出一些建议。其中一种技术是否比另一种更有用,或者其中一种技术有什么缺点?
提前致谢。
【问题讨论】:
【参考方案1】:在我看来,JSON 更容易使用。访问 data.foo.bar.name
之类的内容比尝试使用 XML 中的相应节点要容易得多。
XML 可以用于数据文件,尽管仍然存在问题,但对于客户端-服务器通信,我强烈推荐使用 JSON。
【讨论】:
与 XML 相比,JSON 更轻量级,因此在性能方面更好。【参考方案2】:您正在打开一罐蠕虫(再次,不是第一次)。
看看这个JSON vs XML。在 *** 上的快速搜索也很好。
这个问题可能会重复。喜欢这个*** XML vs JSON。
最终答案保持不变。这取决于你。虽然我同意那里的许多 cmets 有时,XML 是矫枉过正(有时不是)。
【讨论】:
【参考方案3】:我同意 Kolink,
原因,最好使用JSON,因为XML有一个大的Header,这意味着每次传输都有很大的开销。
对于 ios 或 android,您必须使用 JSON 而不是 WLAN XML。
【讨论】:
【参考方案4】:我同意 Kolink 的观点,但如果您已经有了 XML 方案,我会使用 XML 来为您省去 Java 方面的一些麻烦。这真的取决于谁做的工作最多。 此外,JSON 更紧凑,因此您可以使用它的格式节省带宽。
Java中似乎有一些解析JSON的库,所以切换格式可能不会太难。 http://json.org/java/
【讨论】:
以上是关于使用 Java 和 JavaScript 处理消息:JSON 还是 XML?的主要内容,如果未能解决你的问题,请参考以下文章