【发布时间】:2015-09-24 11:59:57
【问题描述】:
搜索了一段时间,但没有发现任何有用的信息,因为关键字太常见了。
目前在我的 Java 代码方法 toString()(在一些 JSONObject 对象上调用)产生如下输出:
{"key_name":<numerical_value>}
而我需要的(由于项目另一端的解析器不完善)是:
{"key_name": <numerical_value>}
唯一的区别是冒号后面有多余的空格。是否有任何 JSONObject 内置方法可以做到这一点,或者我需要一些手写的简单字符串操作吗?
【问题讨论】:
-
您好,您可以使用 ObjectMapper 类来解决问题。 toString() 不是解决问题的正确方法。
-
为什么?我需要的正是一个字符串。这只是由另一个远程应用程序解析它的问题。我的应用程序生成 JSONObject 并将其作为 json 格式的字符串传输 - 这是其他各方提出并同意的协议。
-
虽然这可能有效,但真正的解决方案当然是在另一端修复解析器。
-
您的 JSONObject 占用了额外的空间,如果您觉得这是唯一的问题,请删除额外的空间。我觉得你应该使用 ObjectMapper 将 java 对象转换为 json,无需再次制作 JSONObject。
-
@Henry - 绝对正确,这是我们的第一个解决方案,也是唯一合适的解决方案。遗憾的是,目前无法实现,因此我们必须找到解决此问题的方法。
标签: java space tostring jsonobject colon