繁体   English   中英

Flickr JSON解析错误

[英]Flickr JSON parsing error

我已经编写了这段代码来从flickr中检索照片。 但是当我运行程序时,它显示此错误:

Exception in thread "main" org.codehaus.jettison.json.JSONException: JSONObject["photo"] not found.

这是源代码

public static void main(String[] args) throws IOException, JSONException {

    HttpGet httpget = new HttpGet("http://api.flickr.com/services/rest/?method=flickr.photos.search&api_key=********&format=json&nojsoncallback=1&per_page=1&text=MatrixMovie");


    ResponseHandler<String> responseHandler = new BasicResponseHandler();
    HttpClient httpClient = new DefaultHttpClient();

    String responseBody = httpClient.execute(httpget, responseHandler);

    System.out.println(responseBody);


    JSONObject jo2 = new JSONObject(responseBody);
    System.out.println(jo2);
    JSONArray jarray = jo2.getJSONArray("photo");
    System.out.println(jarray);

    for(int i=0; i<jarray.length(); i++)
    {

        JSONObject jobject = jarray.getJSONObject(i);
        //System.out.println(jobject.getString("id"));
        System.out.println(jobject.getString("owner"));
    }

}

}

这是我从flickr得到的回应。

{"photos":{"page":1,"pages":9,"perpage":1,"total":"9",
"photo": 
[{"id":"5589016310",
"owner":"61369554@N03",
"secret":"eb2bf0f940",
"server":"5293",
"farm":6,
"title":"MatrixMovie-GoldenAwake",
"ispublic":1,
"isfriend":0,
"isfamily":0}]},
"stat":"ok"}

但不确定为什么它没有得到“照片”阵列。 谁能帮我这个忙。

谢谢。

要调用照片,应先将另一个对象称为照片,然后在该对象内调用数组照片! 像这样:

JSONObject jo3 = jo2.getJSONObject("photos");
JSONArray jarray=jo3.getJSONArray("photo");

我检查了,这有效! 希望能帮助到你 :)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM