Java序列化vs JSON vs XML

彼得:

我想知道在处理通过网络传输的对象时应该选择哪种串行化机制。优缺点都有什么 ?

我知道我们大部分时间都使用JSONXMLAJAX因为传输格式几乎是Javascript格式,加上JSON占用空间很小,而且重量很轻,因此Java序列化完全不在表格之列吗?

Ariel T:

通常,重要的问题是哪个客户端将接收序列化的对象-浏览器/ JavaScript引擎,例如(node-js),Java客户端,未知/多个客户端。

JSON-JSON语法基本上是JavaScript,因此具有JS引擎的任何组件都可以很好地处理其解析-甚至复杂的数据结构也可以有效地转换为“活动”对象。JSON解析器几乎适用于任何语言,即使不使用JS引擎也很容易使用(例如,使用Google Gson,它可以轻松地将JSON转换为相应的对象),这是跨语言交流的不错的选择-例如在消息传递体系结构中

XML-共享JSON的许多优点-跨语言,轻量级等。例如Adobe Flex可以很好地处理XML,甚至比JSON更好。绝对是JSON的合适替代品。我个人更喜欢JSON作为其JS之类的语法,但是XML也很好。

Java序列化-仅应用于Java到Java的通信。一个重要的注意事项是,类定义应该在发送端和接收端,并且通常不会通过传递整个对象而获得太多收益。我不会排除RMI作为通信协议,它确实简化了开发。但是,生成的应用程序组件将很难耦合,这将使其很难替换。

还有一点要注意-序列化通常会有开销。但是,当通过网络执行通信时,瓶颈通常是网络而不是串行化/反序列化本身。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章