java - JAVA 中关键检查 JSONObject org.json.simple

标签 java json jsonparser json-simple

使用org.json.simple将 key 转换为jsonobject。我尝试了很多方法,但都失败了

第一种方法

JSONObject name1 = (JSONObject) jsonObject.get(key);

error : cannot convert java.lang.string to org.json.simple.json.object

第二种方式

JSONParser parser = new JSONParser();
JSONObject name1 = (JSONObject) parser.parse(key);

error : Unexpected character (N) at position 0. at org.json.simple.parser.Yylex.yylex(Unknown Source) at org.json.simple.parser.JSONParser.nextToken(Unknown Source) at org.json.simple.parser.JSONParser.parse(Unknown Source) at org.json.simple.parser.JSONParser.parse(Unknown Source) at org.json.simple.parser.JSONParser.parse(Unknown Source)

第三种方式

Long name1 = Long.valueOf(jsonObject.get(key));

error: The method valueOf(String) in the type Long is not applicable for the arguments (Object)

第四种方式

我使用了这个功能:

optJSONObject(key)

error: optJSONObject is undefined for JSONObject

我怎样才能让它发挥作用?

最佳答案

因此 JSONObject.get(key) 函数通常不会返回 json 对象本身。但 org.json 数据包已经解释了这一点。 从这一点开始仔细阅读,因为 org.json 包含 2 个 JSONObject 包,即 org.json.simple 和普通的 org.json.JSONObject,因此我不知道这是否在 org.json.simple 中显式工作,但这就是我在使用 org.json 包处理 JSONObject 时所做的事情。

JSONObject name1 = jsonObject.getJSONObject(key);

这一行做你想做的事情。尝试一下。

JSON 包提供了 getInt、getString、getJSONObject 等函数,供您准确指定要获取的数据类型。

关于java - JAVA 中关键检查 JSONObject org.json.simple,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58899329/

相关文章:

java - 访问父类方法和变量

javascript - 如何在javascript中解析数据

java - 如何解决 MalformedJsonException : Unterminated object that exist even after setting JsonReader to lenient

java - 异常处理程序未返回正确的响应

java - 暴露等级

java - 仅适用于 Android 上的 RSA 加密中的 IllegalBlockSizeException

javascript - React.js : loading JSON data with Fetch API and props from object array

c# - 将 API 写入文件

JSON 中的 Javascript 数组不起作用

json - 在 Jenkins Pipeline 上解析 JSON (groovy)