一直在这个网站上看了一会儿,我没有得到任何地方。如何解决,JSONException:没有值的“1”
我创建它通过PHP得到的值的列表从MySQL数据库的Android应用程序,并返回一个JSON对象编码的结果:
{"error":false,"values":{"1":{"name":"This is a string"}, "2":{...}}}
我检索JSON对象的Java一样所以:
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并将其添加到字符串列表。但我似乎无法超越这一点。
任何帮助或推动正确的方向将不胜感激。
你应该阅读使用__values.getJSONObject(键)值__,而不是从__jObj__。 – harism
你有通过PHP API获取数据吗?因为最好将值设置为Array而不是Object,因此您可以轻松地对其进行迭代。 –
我已经发布解决方案请尝试。 –