文章底部有个人公众号:热爱技术的小郑。主要分享开发知识、学习资料、毕业设计指导等。有兴趣的可以关注一下。为何分享? 踩过的坑没必要让别人在再踩,自己复盘也能加深记忆。利己利人、所谓双赢。
文章目录
- 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); }
复制
输出如下