在网站上浏览了一段时间,但一无所获。
我正在创建一个 Android 应用程序,它通过 PHP 从 mySQL DB 获取值列表,并返回以 JSON 对象编码的结果:
{"error":false,"values":{"1":{"name":"This is a string"}, "2":{...}}}
我正在像这样检索 Java 中的 JSON 对象:
JSONObject jObj = new JSONObject(response);
boolean error = jObj.getBoolean("error");
if (!error) {
JSONObject values = jObj.getJSONObject("values");
Iterator<?> keys = values.keys();
while(keys.hasNext()) {
String key = (String)keys.next();
JSONObject value = jObj.getJSONObject(key);
...
}
在省略号之前的位置,我得到了异常:
org.json.JSONException: No value for "1"
我是在做一些完全愚蠢的事情,还是什么,在我看来一切都很好。我尝试了多种不同的方法,但仍然遇到同样的问题。 我最终想做的是获取名称 obj 并将其添加到字符串列表中。但我似乎无法超越这一点。
任何帮助或插入正确的方向将不胜感激。
最佳答案
JSONObject value = jObj.getJSONObject(key);
替换为
JSONObject value = values.getJSONObject(key);
关于java - 如何解决,JSONException : No value for "1",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38635428/