当前位置:首页 > 开发 > 编程语言 > Json > 正文

JSON与null的解惑

发表于: 2014-04-17   作者:borglee   来源:转载   浏览次数:
摘要: 从做程序到现在,用JSON也用了好些年了。突然发现JSON在put空值时有时会有key而有时又不会有。为了解除这个疑惑我做了以下测试。 我用的包是:json-lib-2.4-jdk15.jar   例一: public static void main(String[] args) { JSONObject json = new JSONObject();

从做程序到现在,用JSON也用了好些年了。突然发现JSON在put空值时有时会有key而有时又不会有。为了解除这个疑惑我做了以下测试。 我用的包是:json-lib-2.4-jdk15.jar

 

例一:

public static void main(String[] args) {
        JSONObject json = new JSONObject();
        json.put("key", null);
        System.out.println(json);
}

 可以看到,控制输出:{}

由此可见,如果put一个空指针(null)给JSON,JSON会自动屏蔽此key不会有任何处理。

 

我们再来看看另外一个例子。

 

例二:

 public static void main(String[] args) {
        JSONObject json = new JSONObject();
        String value = "null";
        json.put("key", value);
        System.out.println(json);
 }

 控制台输出:{"key":null}

 

在例二中,我们将String类型的字符串value的值设置为“null”。此时JSON会带有key及value存在。大家请注意看value为null。并不是“null”不带引号。我猜测应该是JSON自动将字符串“null”转换为可识别的空值。如果我们将value的值设置为非“null”的任何字符,JSON都会带有引号。

 

 

综上所述:如果需要在value为空时不显示key,则可以直接传递null。但是如果需要不管在value是否为空时都带有key则需要手动将null转换为“null”字符串即可。

 

才疏学浅,有什么不正之处。希望高手赐教!

JSON与null的解惑

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
注意:不能有BOM头输出 未转码前: 输出:NULL 在PHP5.4之前 json_decode函数有两个参数json_decode有
---------------------------------------------------------------------------------------------
一、Git是什么? 很多初次接触Git的人总是把Git与Github等同起来,我刚开始也是如此。其实Git是一个
网上有些资料说含有 null 的列不能创建索引,还有资料说因为一般的索引是 b_ 树结构,而 b+ 树不能
5 JSON
简介: JSON 即 JavaScript Object Natation,它是一种轻量级的数据交换格式,非常适合于服务器与 J
6 json
介绍 JSON JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。易于人阅读和编写。同时
7 json
介绍 JSON JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。易于人阅读和编写。同时
8 JSON
一直在找解决JSON返回多余值的问题 ,下面解决了这个问题 记录]struts2的json插件配置详解(附demo)
9 JSON
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于JavaScript(Standard ECMA-
10 JSON
JSON的数据结构 JSON中可以使用的数据类型 在线查看JSON中定义的数据 JSON格式校验 JSON与Javascrip
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号