有点晚了,但是我想分享我的看法。
最近,当我发现一个同时包含两个库的Java项目时,我遇到了这个问题。
我认为这
org.json更易于阅读和使用,主要有两个原因(出于我的需要):
JsonObject是不可变的。您不能将新的键/值对添加到已经存在的JsonObject中(此处参考:javax.json:将新的JsonNumber添加到现有的JsonObject中)
漂亮地打印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 ),但这是我的想法。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)