繁体   English   中英

如何使JSONObject忽略'null'的特殊含义并将其打印为原义null

[英]How to make JSONObject ignore special meaning for 'null' and print it as literal null

我正在使用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

有什么帮助吗?

看来这是您正在使用的JSON库实现的错误。

一个简单的解决方案是切换到实际运行的JSON库。

我正在使用这两个推荐给您的JSON库:

  1. json-简单
  2. json-smart

这两个库都根据实现的要求使用字符串“ null”值工作。 我用示例代码进行了测试:

JSONObject obj = new JSONObject();
obj.put("test", "null");

// Both libraries print out {"test":"null"}
System.out.println(obj.toJSONString());    

使用JsonWriter类的方法WriteNull。

参考: http : //msdn.microsoft.com/en-us/library/bb299886.aspx

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM