我正在使用net.sf.json.JSONObject
JSONObject obj = new JSONObject();
obj.put("id", "null");
System.out.println(obj.toString());
输出
{"id":null}
我希望null在输出中引用为文字"null"
{"id":"null"}
由于null, true, false
是JSONObject
在将其转换为字符串时对待它的关键字。我试过了
obj.put("id", "\"null\"");
- 结果仍然相同
我们有一些遗留代码,如果我可以将其作为文字打印null
而不是使其成为json null
,那么它将很容易流入。
任何帮助?
答案 0 :(得分:1)
看起来这是您正在使用的JSON库的实现的错误。
一个简单的解决方案是切换到实际工作的JSON库。
我正在使用这两个JSON库,我建议你这样做:
这两个库都按照您的实现的要求使用String“null”值。我用示例代码测试了两个:
JSONObject obj = new JSONObject();
obj.put("test", "null");
// Both libraries print out {"test":"null"}
System.out.println(obj.toJSONString());
答案 1 :(得分:-2)
使用JsonWriter类方法WriteNull。