String innnerhalb eines Strings extrahieren

S

sem_thesis

Fortgeschrittenes Mitglied
0
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:
sem_thesis schrieb:
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?
Schuss ins Blaue:
Code:
String name = wallpost.getJSONObject("from").getString("name");
'from' ist doch eine Struktur mit Sub-Elementen...
 
  • Danke
Reaktionen: sem_thesis
Ein Struct?
Das gibt's doch nur in C++?
Wie kann man denn auf die einzelnen Elemente zugreifen?
 
maniac103 schrieb:
Schuss ins Blaue:
Code:
String name = wallpost.getJSONObject("from").getString("name");
'from' ist doch eine Struktur mit Sub-Elementen...

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");
 
sem_thesis schrieb:
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");

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.
 
sem_thesis schrieb:
Eclipse gibt den Error:
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");
    }
 

Ähnliche Themen

F
Antworten
0
Aufrufe
821
FlorianAlfredo
F
W
Antworten
16
Aufrufe
838
jogimuc
J
D
  • Data2006
Antworten
14
Aufrufe
449
jogimuc
J
Zurück
Oben Unten