1. Nimm jetzt an unserem AGM - Gewinnspiel teil - Informationen zum M1, A2 und A8 findest Du hier, hier und hier!
  1. sem_thesis, 03.05.2011 #1
    sem_thesis

    sem_thesis Threadstarter Android-Hilfe.de Mitglied

    Hallo zusammen!


    Ich bin gerade das Facebook Graph API am Durchwühlen.
    Dabei habe ich versucht die Informationen von den WallPosts (Feed) herauszusuchen.

    Unter dem folgenden Link ist die verfügbare Information aufgelistet:
    https://developers.facebook.com/docs/reference/api/
    Klick auf Profile Feed (Wall) --> dann erscheint -->


    HTML:
    {
       "data": [
          {
             "id": "506438",
             "from": {
                "name": "asdfasfd",
                "id": "5063"
             },
             "message": "..",
    ...
             "created_time": "2011-04-25T10:50:46+0000",
             "updated_time": "2011-04-25T14:40:31+0000",
             "likes": {
                "data": [
                   {
                      "name": "hjhki",
                      "id": "746690300"
                   }
                ],
                "count": 1
             },
             "comments": {
                "data": [
                   {
                      "id": "506",
                      "from": {
                         "name": "hjkhkj",
                         "id": "7980"
                      },
                      "message": "klj",
                      "created_time": "2011-04-25T11:38:24+0000"
                   },
                   {
                      "id": "506438439_144634898938747_1084274",
                      "from": {
                         "name": "hjlh",
                         "id": "506438439"
                      },
                      "message": "hjlk",
                      "created_time": "2011-04-25T14:40:31+0000"
                   }
                ],
                "count": 2
             }
    ....
    ...
          },
    
    Jetzt möchte ich Daten wie:
    - Wallpost ID
    - Created_Time
    - Updated_Time
    - From info
    - Comment info
    - Likes info
    usw. auslesen


    Ok, jetzt um die ID anzeigen zu lassen, habe ich geschrieben:
    Code:
    JSONObject wallpost = d.getJSONObject(i);
    FbWallPost newWallPost = new FbWallPost(wallpost.getString("id")
    
    TextView view = new TextView(getApplicationContext());
    view.setText(wallpost.getId())
    
    Das hat perfekt geklappt.

    Jetzt möchte ich den String "name" innerhalb des String "from" anzeigen.
    Code:
    JSONObject wallpost = d.getJSONObject(i);
    FbWallPost newWallPost = new FbWallPost(wallpost.getString("from").getString("name");
    
    TextView view = new TextView(getApplicationContext());
    view.setText(wallpost.getName())
    
    Dies funktioniert jedoch nicht mehr :'(


    Hat jemand 'ne Idee?
     
    Zuletzt bearbeitet: 03.05.2011
  2. maniac103, 03.05.2011 #2
    maniac103

    maniac103 Android-Lexikon

    Schuss ins Blaue:
    Code:
    String name = wallpost.getJSONObject("from").getString("name");
    
    'from' ist doch eine Struktur mit Sub-Elementen...
     
    sem_thesis bedankt sich.
  3. sem_thesis, 03.05.2011 #3
    sem_thesis

    sem_thesis Threadstarter Android-Hilfe.de Mitglied

    Ein Struct?
    Das gibt's doch nur in C++?
    Wie kann man denn auf die einzelnen Elemente zugreifen?
     
  4. sem_thesis, 03.05.2011 #4
    sem_thesis

    sem_thesis Threadstarter Android-Hilfe.de Mitglied

    Jah! Haste Recht. Jetzt hab ich nochmals einen JSONObject draus gemacht und den Namen herausgezogen - Merci beaucoup :)

    Code:
    final JSONObject fromstruct = new JSONObject(wallpost.getString("from"));
    
    fromstruct.getString("name");
    
     
  5. maniac103, 03.05.2011 #5
    maniac103

    maniac103 Android-Lexikon

    Und was genau sprach gegen meine Variante, die Struktur direkt zu extrahieren? Du machst ja jetzt Struktur -> String -> JSONObject; das finde ich etwas merkwürdig. Es wundert mich ehrlich gesagt sogar, dass das funktioniert.
     
  6. sem_thesis, 03.05.2011 #6
    sem_thesis

    sem_thesis Threadstarter Android-Hilfe.de Mitglied

    Eclipse gibt den Error:
     
  7. maniac103, 04.05.2011 #7
    maniac103

    maniac103 Android-Lexikon

    Dann hast du etwas falsch gemacht. Eclipse findet das hier vollkommen ok:
    Code:
        JSONObject wallpost = null; /* ist bei dir natürlich nicht null */
        try {
            JSONObject from = wallpost.getJSONObject("from");
            String name = from.getString("name");
        } catch (JSONException e) {
            Log.d("Test", "Invalid JSON");
        }