文章目录
-
- JSON嵌套取值
JSON嵌套取值
可以使用 getJSONObject
取出嵌套的json ,然后在通过key -value
的形式,获取 json
的数据值
String resultMsgs = (String) resultJson.getJSONObject(“param”).get(“msg”);
构造一个类似如下的JSON字符串,然后取出里边的 result
,msg
{
"result": "00",
"param": {
"msg": "Success",
"name": "张三",
"age": 18
}
}
具体代码实现
/**
* 构造一个双层json嵌套的的 JSON 格式的String
* @return
*/
public String getJsonObjectString() {
JSONObject result = new JSONObject();
JSONObject paramJson = new JSONObject();
result.put("result", "00");
paramJson.put("msg", "Success");
paramJson.put("name", "张三");
paramJson.put("age", 18);
result.put("param", paramJson);
String resultJson = result.toJSONString();
return resultJson;
}
/**
* 测试取出JSON中的值 通过 key - value 的形式
*/
@Test
public void Test(){
String result = getJsonObjectString();
System.out.println("字符串JSON: " + result);
//解析该json
JSONObject resultJson = JSONObject.parseObject(result);
//通过key-value的形式获取值
String resultCode = (String) resultJson.get("result");
System.out.println( "对象JSON key-value result取值: " + resultCode);
//获取嵌套 json 中的数据值 参数param
JSONObject resultParam = (JSONObject) resultJson.get("param");
String resultMsg = (String) resultParam.get("msg");
System.out.println("首先取出params,然后取出 msg 值:" + resultMsg);
String resultMsgs = (String) resultJson.getJSONObject("param").get("msg");
System.out.println("一次性取出嵌套json中的 msg 值:" + resultMsgs);
}
输出如下