JSONException:照片没有价值
JSONException: No value for photo
我正在使用 Flickr API 让我的应用根据用户搜索显示图像。我不断收到此错误:JSONException: No value for photo
拍照电话:
public ArrayList<Category> processResults(Response response) {
ArrayList<Category> categories = new ArrayList<>();
try {
String jsonData = response.body().string();
if (response.isSuccessful()) {
JSONObject flickrJSON = new JSONObject(jsonData);
//json data
JSONArray photoJSON = flickrJSON.getJSONArray("photo");
}
}
}
json格式是这样的:
{
photos: { page: 1,
pages: 2165,
perpage: 100,
total: "216413",
photo: [ { id: "37095719122",
....
}
}
由于您的代码的 new JSONObject()
部分工作正常,可以安全地假设您获得的 JSON 对象是有效的,在这种情况下,您的实际 JSON 对象必须看起来像这样:
{
photos: { page: 1,
pages: 2165,
perpage: 100,
total: "216413",
photo: [ { id: "37095719122",
.....
}
}
变量 flickerJSON
将包含整个对象,它的唯一字段是 photos
,而您尝试访问的 photo
字段是 [= 的内部字段14=]对象。
因此,您可以像这样访问 photo
字段:
JSONArray photoJSON = flickrJSON.getJSONObject("photos").getJSONArray("photo");
我正在使用 Flickr API 让我的应用根据用户搜索显示图像。我不断收到此错误:JSONException: No value for photo
拍照电话:
public ArrayList<Category> processResults(Response response) {
ArrayList<Category> categories = new ArrayList<>();
try {
String jsonData = response.body().string();
if (response.isSuccessful()) {
JSONObject flickrJSON = new JSONObject(jsonData);
//json data
JSONArray photoJSON = flickrJSON.getJSONArray("photo");
}
}
}
json格式是这样的:
{
photos: { page: 1,
pages: 2165,
perpage: 100,
total: "216413",
photo: [ { id: "37095719122",
....
}
}
由于您的代码的 new JSONObject()
部分工作正常,可以安全地假设您获得的 JSON 对象是有效的,在这种情况下,您的实际 JSON 对象必须看起来像这样:
{
photos: { page: 1,
pages: 2165,
perpage: 100,
total: "216413",
photo: [ { id: "37095719122",
.....
}
}
变量 flickerJSON
将包含整个对象,它的唯一字段是 photos
,而您尝试访问的 photo
字段是 [= 的内部字段14=]对象。
因此,您可以像这样访问 photo
字段:
JSONArray photoJSON = flickrJSON.getJSONObject("photos").getJSONArray("photo");