基本上我使用GET调用触发一组API,它返回json中的数据,我想只打印特定的字符串,如下面json片段中提到的hostid。
"hostId" : 286,
"parentSectionName" : "adadfr",
"rank" : 86096.0,
"activationStatus" : "ACTIVE",
"overrideLinkProp" : 0,
答案 0 :(得分:1)
假设你的json看起来像这样:
String jsonToDecode = "{" +
" \"hostId\" : 286,\n" +
" \"parentSectionName\" : \"adadfr\",\n" +
" \"rank\" : 86096.0,\n" +
" \"activationStatus\" : \"ACTIVE\",\n" +
" \"overrideLinkProp\" : 0,"+
"}";
您可以使用" com.googlecode.json-simple"解码它。像这样的包:
JSONParser parser = new JSONParser();
Object parsedJson = new Object();
try {
parsedJson = parser.parse(jsonToDecode);
} catch (ParseException e) {
//do something when json parsing fails
}
JSONObject jsonObject = (JSONObject) parsedJson;
String name = (String) jsonObject.get("parentSectionName");
System.out.print(name); // will output adadfr
答案 1 :(得分:0)
在java中,您可以使用JsonPath:
String jsonToDecode = "{" +
" \"hostId\" : 286,\n" +
" \"parentSectionName\" : \"adadfr\",\n" +
" \"rank\" : 86096.0,\n" +
" \"activationStatus\" : \"ACTIVE\",\n" +
" \"overrideLinkProp\" : 0,"+
"}";
System.out.println(JsonPath.from(jsonToDecode).getString("hostId"));