从JSON数据对象中获取JSONObject值

时间:2019-06-04 12:23:26

标签: java json

我有以下json数据

{
    "TestMetrics": {
        "ProcessPID": "7887",
        "MemSwapped": "0",      
        "Uptime": "407",
        "webTiming": "{\"domainLookupStart\":3,\"domainLookupEnd\":67}"}
}

由此,我需要获取webTiming json对象。 为此,我使用了以下代码

 JSONObject launchMetricsObj = new JSONObject(jsonData);


        try {
        JSONObject objc = launchMetricsObj.getJSONObject("TestMetrics");

        JSONObject webtimingObj = objc.getJSONObject("webTiming");
        System.out.println(webtimingObj:::::: " +webtimingObj);

        } catch (JSONException e) {
        System.out.println("Exception:" + e);
        }

由于“ webTiming”值为JSONObject,因此我尝试将其设为

JSONObject webtimingObj = objc.getJSONObject("webTiming");

但是我观察到以下异常:

JSON Objectorg.codehaus.jettison.json.JSONException: JSONObject["webTiming"] is not a JSONObject.

1 个答案:

答案 0 :(得分:4)

这是因为webTiming被定义为字符串,而不是JSONObject

要进行转换,您需要执行以下操作:

JSONObject webtimingObj = new JSONObject(objc.getString("webTiming"));