Estoy tratando de extraer detalles de la persona a la que le gustó un facebook de la página, pasando a la página de id como parámetro. He extraído el JSON contenido de la página y ahora, desde que me quiere extraer el nombre y el id de los usuarios.

¿Cómo puedo lograr esto ?

Código:

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"
    },
  • Ir a json.org y el estudio de la sintaxis JSON. Lo que usted tiene es muy simple. (Sugerencia: no Hay ningún punto en la conversión de la vuelta a la Cadena, a menos que usted simplemente quiere imprimir.)
  • Tenga en cuenta que usted omite los alrededores {} personajes, que son importantes, son no sólo toString escaparatismo.
InformationsquelleAutor lulu | 2014-02-27

3 Comentarios

  1. 2

    Código como este haría el truco.

    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.
    }

    Básicamente data es un JSONArray ya que se comienza con [. Así que simplemente get no funciona, hay que usar JSONArray.

    Nota: no he compilado este código, pero creo que me dio una idea para continuar. Consulte también este enlace para conseguir el asimiento de los conceptos básicos de análisis de JSON en java.

    • se muestra la siguiente excepción de la Excepción en el hilo «principal» facebook4j.interna.org.json.JSONException: JSONObject[«datos»] no se encuentra. en facebook4j.interna.org.json.JSONObject.get(JSONObject.java:464) en facebook4j.interna.org.json.JSONObject.getJSONArray(JSONObject.java:545) en facebook.Fb_rest.principal(Fb_rest.java:64)
    • dentro de los «likes: es el campo de datos..por Donde tengo que specift «me gusta» de campo
    • Estás seguro, que json tiene data?
    • Ok, puede que publique el real json que están obteniendo?
    • «likes»:{«data»:[{«id»:»********»,»name»:»Aj»},{«id»:»******»,»name»:»Ta»},{«id»:»*****»,»name»:»Sus»},{«id»:»******»,»name»:»Ap»},….esta es una parte de mi o/p ..i no se puede publicar la totalidad de la o/p, ya que se extrae de facebook hop u entender
    • u puede probar en «json analizar en línea» .si u especificar fbid de una página a través de la ur graph api muestra o/p..u puede probar como esta
    • He intentado es que funciona muy bien en mi PC, tal vez tu problema es otro
    • permítanos continuar esta discusión en el chat
    • Necesitamos cast (JSONObject) dataJsonArray.get(i)

  2. 2

    Este fragmento no está probado, pero estoy bastante seguro de que funciona:

    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");
    }
    • muestra de esta excepción para que su código se muestra la siguiente excepción de la Excepción en el hilo «principal» facebook4j.interna.org.json.JSONException: JSONObject[«datos»] no se encuentra. en facebook4j.interna.org.json.JSONObject.get(JSONObject.java:464) en facebook4j.interna.org.json.JSONObject.getJSONArray(JSONObject.java:545) en facebook.Fb_rest.principal(Fb_rest.java:64)
    • dentro de los «likes: es el campo de datos..por Donde tengo que specift «me gusta» de campo.En el fragmento de código donde se especifique acerca de «me gusta» de la etiqueta
    • (@smartphone) agregar JSONObject data = json.getJSONObject("likes"); por encima de mi fragmento y cambiar el nombre de yr data variable json.
    • yo no se u…u puede explicar
    • mismo error..u puede explicar lo que te han mencionado jst

Dejar respuesta

Please enter your comment!
Please enter your name here