zoukankan      html  css  js  c++  java
  • JSONObject与null

    前言

    今天在写代码的时候发现在 JSON 中 由于put了key对应的value为null,结果这个JSON键值对没有输出

    org.json.JSONObject

    在orgJSON 中,如果直接put value会有报错提示:

    org.json.JSONObject orgJSON = new org.json.JSONObject();
    // IDE提示The method put(String, Collection) is ambiguous for the type JSONObject
    orgJSON.put("null", null);
    

    但是,org.json.JSONObject 提供了一个JOSNObject.NULL

    orgJSON.put("JSONObject.NULL", org.json.JSONObject.NULL);
    System.out.println("JSONObject.NULL : "+orgJSON);
    
    // 控制台输出
    JSONObject.NULL : {"JSONObject.NULL":null}
    
    System.out.println(JSONObject.NULL == null);
    // 控制台
    false
    

    通过查阅org.json.JSONObject的文档,发现文档是这样说的

    The values can be any of these types: Boolean, JSONArray, JSONObject, Number, String, or the JSONObject.NULL object.

    参考文档:https://stleary.github.io/JSON-java/org/json/JSONObject.html

    net.sf.json.JSONObjcet

    net.sf.json.JSONObject netJSON = new net.sf.json.JSONObject();
    netJSON.put("null", null);
    System.out.println("netJSON" + netJSON); 
    
    // 控制台输出 : 
    netJSON{}
    

    文档中这样写的:

    The values can be any of these types: Boolean, JSONArray, JSONObject, Number, String, or the JSONNull object.

    但是吧

    // IDE提示:net.sf.json.JSONNull cannot be resolved to a variable
    netJSON.put("JSONNull", net.sf.json.JSONNull);
    

    参考文档:http://json-lib.sourceforge.net/apidocs/jdk15/net/sf/json/JSONObject.html

  • 相关阅读:
    25号了
    9月特别日程
    26日 晴
    8月22日 出游时间更改
    雷雨过后
    28日 多云
    080826 小雨(补记)
    080822 阴
    27日 晴
    IOS 5 ARC机制 (一)
  • 原文地址:https://www.cnblogs.com/52liming/p/9537332.html
Copyright © 2011-2022 走看看