Android,迭代JSON-fied字典

时间:2018-01-22 19:10:37

标签: android json

我有以下字符串,它是使用javascript JSON创建的。 (它使用JavascriptInterface从Webview传递到本机代码。)

{"var1":1,"var2":8}

如何将其转换为对象然后迭代键/值对?密钥的名称不是事先知道的。

我已经看到了这个JSON Array iteration in Android/Java以及此Converting json string to java object?和此how to convert JSON string to object in JAVA android

这些似乎都不符合我的示例,这是一个具有未知键名的字典。至少,我当然不清楚15个答案中的哪一个与我的案例相关。

2 个答案:

答案 0 :(得分:1)

org.json库免费提供Android版,所以我会选择它。当你不提前知道密钥时的用法可能是这样的:

try {
    JSONObject jsonObject = new JSONObject(/* your json String here */);
    Iterator<String> keys = jsonObject.keys();

    while (keys.hasNext()) {
        String key = keys.next();
        String value = jsonObject.getString(key);

        // do whatever you want with key/value
    }
}
catch (JSONException e) {
    // thrown when:
    // - the json string is malformed (can't be parsed)
    // - there's no value for a requested key
    // - the value for the requested key can't be coerced to String
}

答案 1 :(得分:0)

您可以通过转换获取json长度来使用它: -   JSONObject obj = new JSONObject(response);

click button "Add a New Value"