【发布时间】:2017-06-24 16:31:53
【问题描述】:
我最近需要序列化 JSON。在Java中我们不能序列化为Java,因为它没有实现可序列化。我可以将其转换为字符串并序列化,同时将读取的内容作为字符串检索并将字符串转换为JSON。
但是转成字符串进行序列化,反序列化后转成JSON会有开销。
我想避免这种情况的解决方案是序列化和反序列化非常简单。我们可以用 org.json.* 中的每个 Class 重写代码来实现可序列化
我的问题是为什么 JSON 不实现可序列化。 是否有任何特定的理由来避免这种情况
【问题讨论】:
-
JSON 的全部意义在于交换结构化数据,格式化为文本,使用 JSON 语法,可在任何编程语言中写入和读取。不像原生 Java 序列化那样交换二进制数据,只能由 Java 代码读取。你的想法基本上相当于打印一个文本文件,拍照,然后发送JPEG文件,而不是仅仅发送文本文件。
-
JSON 已经是一种序列化格式,一种类似 XML 的文本可读序列化,让您的问题听起来像 XY Problem。无论您要解决什么问题,让 JSON 可序列化都不是您想要的解决方案。
-
@aravinth 如果你想要序列化,为什么要使用 JSON?为什么不序列化原始对象?这没有意义。
-
我希望它既可以通过 java 进程序列化,又可以与其他东西交换
-
更糟。为什么用两种不同的方式做同一件事?
标签: java json serialization