我正在探索杰克逊图书馆及其相关主题。我无法理解为什么有必要将Java对象转换为JSON,反之亦然?这对我来说真是一个阻碍。
答案 0 :(得分:1)
JSON被认为是一种方便的“传输编码”。它比XML更紧凑,人类可以手动阅读和生成。
大多数语言都有相当成熟的JSON编码器/解码器,因此您的Java应用程序可以生成JSON消息,该消息可以在浏览器中运行的Javascript读取。如果在此过程中某处出现错误,则您可以轻松阅读JSON文本并了解错误是在Java还是Javascript代码中。
如果您不在两个不同的系统之间传输数据,那么将事物编码为JSON没有多大意义 - 您可能不希望将Java对象转换为JSON,将其传递给其他方法,然后将其转换回来到Java对象。你将失去类型安全,并且无所事事地做很多工作。
答案 1 :(得分:1)
序列化为JSON允许您从非Java编写的软件(如Web客户端中运行的Javascript代码等)访问对象中包含的数据。
Java本机(二进制)序列化很难从Java以外的任何其他地方读取,并且在类更改时保持向后兼容性并不简单。
答案 2 :(得分:1)
JSON通常用于serialization。
只要您无法轻松地将Java对象本身传递到您需要的地方(例如存储它或发出HTTP请求),将Java对象转换为JSON很有用。反之亦然,当您正在阅读它时,将其转换回要使用的Java对象。