使用哪一个?org.json中的JSONObject与javax.json中的JsonObject

使用哪一个?org.json中的JSONObject与javax.json中的JsonObject,第1张

使用哪一个?org.json中的JSONObject与javax.json中的JsonObject

有点晚了,但是我想分享我的看法。

最近,当我发现一个同时包含两个库的Java项目时,我遇到了这个问题。

我认为这

org.json
更易于阅读和使用,主要有两个原因(出于我的需要):

  1. JsonObject是不可变的。您不能将新的键/值对添加到已经存在的JsonObject中(此处参考:javax.json:将新的JsonNumber添加到现有的JsonObject中)

  2. 漂亮地打印JsonObject或JsonArray需要几行,而JSONObject或JSONArray只需要一行。例:

        StringWriter sw = new StringWriter();    Map<String, Object> properties = new HashMap<>();    properties.put(JsonGenerator.PRETTY_PRINTING, true);    JsonWriterFactory writerFactory = Json.createWriterFactory(properties);    JsonWriter jsonWriter = writerFactory.createWriter(sw);    jsonWriter.writeObject(jsonObject); //JsonObject created before    jsonWriter.close();    String prettyPrintedJSON = sw.toString();

那就是我用来获取缩进JSON写入文件的代码。和org.json我只需要

jsonObject.toString(4)

另一个区别是构造函数。您将需要使用

JsonObjectBuilder
来创建一个JSON
javax.json
。多一步可以避免。

我敢肯定还有更多差异(不确定是否可以

JsonObject
通过字符串创建a ),但这是我的想法。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5133504.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-17
下一篇 2022-11-17

发表评论

登录后才能评论

评论列表(0条)

保存