我有以下(工作代码)与 old JSONObject jar
String title = "title"; return new JSONObject() .put("title", title).put("url", null)));
当我开始使用 latest jar from JSON-java
我得到一个编译错误
The method put(String, Collection<?>) is ambiguous for the type JSONObject
我找到了一个 issue 建议使用 JSONObject.NULL 而不是 null
JSONObject.NULL
null
此库有一个独特的JSONObject.NULL常量,用于存储JSON空值。这是故意的。Java空值在这个库中被视为JavaScript未定义。
但是没有中间的方法来支持这两个JSON版本? JSON-java 项目,还是我遗漏了什么,或者只是使用了不受支持的旧版本?
JSON-java
put("", null) JSONObject类中的三个方法中的任何一个都可以: put(String key, Object value) , put(String key, Collection<?> value) 或 put(String key, Map<?, ?> value) . 因此,它不能再用于最新版本的 org.json 图书馆为了克服这个问题,他们定义了一个静态类 Null 他们自己的: org.json.JSONObject.Null 当用于 put 将呼叫 方法
put("", null)
put(String key, Object value)
put(String key, Collection<?> value)
put(String key, Map<?, ?> value)
org.json
Null
org.json.JSONObject.Null
put