如何在java中从Json对象提取元素
这是我调用API时的json对象 工作 JSON的主体是这样的 bodyofJson如何在java中从Json对象提取元素,java,json,Java,Json,这是我调用API时的json对象 工作 JSON的主体是这样的 bodyofJson { "ID": "sup-9749-0e710000fd04", "VERSION": 1, "ACTION_TYPE": "NEW_CASE", "EVENT_TYPE": "WORLDCHECK" } 我需要获取json的主体和键作为ID,它位于主体json中。 我能够获取Body,但无法从Body json获取ID 这就是我正在做的 JSONObject job = ne
{
"ID": "sup-9749-0e710000fd04",
"VERSION": 1,
"ACTION_TYPE": "NEW_CASE",
"EVENT_TYPE": "WORLDCHECK"
}
我需要获取json的主体和键作为ID,它位于主体json中。
我能够获取Body,但无法从Body json获取ID
这就是我正在做的
JSONObject job = new JSONObject(json);
System.out.println("****job*******"+job);
String bodyofJson = job.getString("body");
System.out.println("****bodyofJson*******"+bodyofJson);
ID的位置也可以改变,这就是为什么我没有得到索引的基础上
请建议
主体
键进一步包含json。因此,我们需要将其解析为JSONObject
,并获得ID
的值
代码如下:
JSONObject job = new JSONObject(json);
System.out.println("****job*******"+job);
String bodyofJson = job.getString("body");
System.out.println("****bodyofJson*******"+bodyofJson);
// Parse bodyofJson as JSONObject
JSONObject bodyJsonObj = new JSONObject(bodyofJson);
System.out.println(bodyJsonObj.get("ID"));
我不确定我是否理解正确,但是如果
body
本身包含JSON,你就不能像对待JSON
那样解析它,然后得到ID
字段吗?@FedericoklezCulloca我试过了,但它给了我错误请你的问题包括你尝试的代码和它给出的错误。我在你给出的工作示例中看到,body
有值“{\“ID\”:\“sup-9749-0e710000fd04\”、“VERSION\”:1、“\AUDIT\u EVENT\u TO\u DATE\u TP\”:null}”
,您无法将其解析为json,因为它无效(null
不是有效值。“null”
,请注意引号,是)。
JSONObject job = new JSONObject(json);
System.out.println("****job*******"+job);
String bodyofJson = job.getString("body");
System.out.println("****bodyofJson*******"+bodyofJson);
// Parse bodyofJson as JSONObject
JSONObject bodyJsonObj = new JSONObject(bodyofJson);
System.out.println(bodyJsonObj.get("ID"));