使用java提取JSON字段

时间:2014-02-27 16:17:21

标签: java json facebook

我试图通过传递页面ID作为参数来提取喜欢Facebook页面的人的详细信息。我提取了该页面的JSON内容,现在我要提取用户的名称和ID。

我如何实现这一目标?

代码:

JSONObject json = readurl("https://graph.facebook.com/pageid");
System.out.println(json.toString());
System.out.println("Page id is:"+json.get("id"));

JSON:

"likes":{
"data":[
    {
        "id":"*******",
        "name":"vv"
    },
    {
        "id":"********",
        "name":"abc"
    },

3 个答案:

答案 0 :(得分:2)

像这样的代码可以解决问题。

JSONObject json = readurl("https://graph.facebook.com/pageid");
JSONArray dataJsonArray = json.getJSONArray("data");
for(int i=0; i<dataJsonArray.length; i++) {
   JSONObject dataObj = dataJsonArray.get(i);
   String id = dataObj.getString("id");
   //Similarly you can extract for other fields.
}

基本上data是JSONArray,因为它以[开头。所以简单地get不起作用,你必须使用JSONArray。

注意:我还没有编译这段代码,但我想我已经给了你一个想法。另请参阅this链接以了解在java中解析JSON的基础知识。

答案 1 :(得分:2)

此代码段未经过测试,但我确信它有效:

JSONArray data = json.getJSONArray("data");
for (int i=0; i < data.length(); i++) {
    JSONObject o = data.getJSONObject(i);
    sysout(o.getString("id");
    sysout(o.getString("name");
}

答案 2 :(得分:0)

我使用的是谷歌的Gson图书馆:https://code.google.com/p/google-gson/