在构建函数中使用 java 从 http 响应中获取 JSON 的键和值

Get key and value of JSON from http response using java in build functions

需要帮助在 Java 中找到从 JSON 响应中获取价值的方法。

以下是从 http 请求收到的响应:

{"code":"0","content":"{\"Name\":\"Subhajit\"}"}

import org.codehaus.jackson.JsonNode;
import org.codehaus.jackson.map.ObjectMapper;
...
...
JsonNode rootNode = new ObjectMapper().readTree(new StringReader(jsonInString));
JsonNode innerNode = rootNode.get("content");
System.out.println(innerNode);

输出:"{"Name":"Subhajit"}"

我的问题是:

How to get the value for Name from the json in double quotes without doing any replace string manipulation and adding external jars ?

提前致谢!

你快完成了!

innerNode是JsonNode类型。当您在 System.out.println(...) 中使用它时,将调用方法 toString() 来表示实例。

JsonNode innerNode = rootNode.get("content");
System.out.println(innerNode);

这个returns"{\"Name\":\"Subhajit\"}"
你想去哪里看{"Name":"Subhajit"}

在 innerNode 实例上使用方法 getTextValue(),您将得到完全正确的结果!

System.out.println(innerNode.getTextValue());
{"code":"0","content":"{\"Name\":\"Subhajit\"}"}

import org.codehaus.jackson.JsonNode;
import org.codehaus.jackson.map.ObjectMapper;
...
...
JsonNode rootNode = new ObjectMapper().readTree(new StringReader(jsonInString));
JsonNode innerNode = rootNode.get("content");
System.out.println(innerNode.getTextValue());