解析json并获取内部对象

时间:2020-01-29 12:51:41

标签: java android json parsing

我需要在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标签?

哪里出错了,告诉我吗?

字符串,整数和其他类型都可以通过此原理解析而不会出现问题。而使用json则存在更复杂的问题

1 个答案:

答案 0 :(得分:0)

没有看到错误日志,很难准确地说出,但是我认为这与以下事实有关:当“ body”是一个对象时,您正在使用JSONArray。尝试使用JSONObject。