首页 > 解决方案 > 解析 json 并获取内部对象

问题描述

我需要在android上解析一个json,例如:

{"header": {
        "param": "param"
    },
    "body": {
        "param": "1",
        "param2": "2",
        "param3": [
            {
                "param4": "4",
                "param5": "5"
            },
            {
                "param6": "6"
            }
        ],
        "param7": "7",
        "param12": [
            {
                "param8": "8",
                "param13": [
                    {
                        "param9": "9"
                    },
                    {
                        "param10": "10"
                    }
                ]
            }
        ],
        "param11": "11"
    }
}

我的代码是:

org.json.simple.JSONObject LJsonObj = (org.json.simple.JSONObject) new JSONParser().parse(AString);
try {
    JSONArray LBody = (JSONArray) LJsonObj.get("body");
    result = LBody.toString();
    LStrTemp = result;
} catch (Exception e) {
    e.printStackTrace();
} finally {
    LJsonObj.clear();
}

return result;

它目前中断或根本不起作用:

JSONArray LBody = (JSONArray) LJsonObj.get ("body"); 

如何解析body标签?

错误在哪里,告诉我?

String、Integer 等类型按照这个原理解析没有问题。而使用json有更复杂的问题

标签: javaandroidjsonparsing

解决方案


如果没有看到错误日志,很难准确地说出来,但我认为这与“body”是对象时使用 JSONArray 的事实有关。改用 JSONObject。


推荐阅读