我有以下字符串,它是使用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个答案中的哪一个与我的案例相关。
答案 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"