AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Delphi SuperObject falsches auslesen
Thema durchsuchen
Ansicht
Themen-Optionen

SuperObject falsches auslesen

Ein Thema von SyntaxXx · begonnen am 4. Mai 2013 · letzter Beitrag vom 4. Mai 2013
Antwort Antwort
SyntaxXx

Registriert seit: 14. Dez 2008
328 Beiträge
 
Delphi XE4 Architect
 
#1

SuperObject falsches auslesen

  Alt 4. Mai 2013, 13:27
Ich möchte gerne einen String in Form von einen JSon Rückgabewert parsen, bzw bestimmte teile auslesen.
Doch leider hänge ich fest, weil ich einfach nicht den richiten Rückgabewert bekomme.

Doch hier erst einmal nun der JSon String:
Code:
[{"kind": "Listing", "data": {"modhash": "40rzsb0lre6c724078b437d9451d2991e6004a2b6afe5e4d2f", "children": [{"kind": "t3", "data": {"domain": "flic.kr", "banned_by": null, "media_embed": {}, "subreddit": "pics", "selftext_html": null, "selftext": "", "likes": null, "link_flair_text": null, "id": "1doaji", "clicked": false, "title": "I grew up with a bomb shelter in my back yard.", "media": null, "score": 5, "approved_by": null, "over_18": false, "hidden": false, "thumbnail": "http://b.thumbs.redditmedia.com/xMGdxqTo7yuxrd6s.jpg", "subreddit_id": "t5_2qh0u", "edited": false, "link_flair_css_class": null, "author_flair_css_class": null, "downs": 0, "saved": false, "is_self": false, "permalink": "/r/pics/comments/1doaji/i_grew_up_with_a_bomb_shelter_in_my_back_yard/", "name": "t3_1doaji", "created": 1367697518.0, "url": "http://flic.kr/s/aHsjEXdyeP", "author_flair_text": null, "author": "npanth", "created_utc": 1367668718.0, "ups": 5, "num_comments": 1, "num_reports": null, "distinguished": null}}], "after": null, "before": null}}, {"kind": "Listing", "data": {"modhash": "40rzsb0lre6c724078b437d9451d2991e6004a2b6afe5e4d2f", "children": [{"kind": "t1", "data": {"subreddit_id": "t5_2qh0u", "banned_by": null, "subreddit": "pics", "likes": null, "replies": "", "id": "c9s83w4", "gilded": 0, "author": "kasabian1988", "parent_id": "t3_1doaji", "approved_by": null, "body": "I think old bomb shelters are really cool. ", "edited": false, "author_flair_css_class": null, "downs": 0, "body_html": "<div class=\"md\"><p>I think old bomb shelters are really cool. </p>\n</div>", "link_id": "t3_1doaji", "score_hidden": false, "name": "t1_c9s83w4", "created": 1367697683.0, "author_flair_text": null, "created_utc": 1367668883.0, "ups": 1, "num_reports": null, "distinguished": null}}], "after": null, "before": null}}]

Wenn man diesen nun in einen Online JSon Parser eingibt, bekommt man diesen schön unterteilt.
Hier nun der für mich interessante Pfad:
1
|-data
|--|-children
|-------|-0
|---------|-data
|-------------|-body

Und so rufe ich diesen auf:
jSon.S['1.data.children[0].data.body'] Doch jedesmal bekomme ich als Ausgabe "1." zurück.

Könnt ihr mir sagen, wie ich es richtig mache?
  Mit Zitat antworten Zitat
Benutzerbild von sh17
sh17

Registriert seit: 26. Okt 2005
Ort: Radebeul
1.594 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: SuperObject falsches auslesen

  Alt 4. Mai 2013, 14:08
Ohne jetzt wirklich die Antwort zu kennen, aber müsste das nicht

jSon.S['1.data.children.0.data.body']

heissen?

//Edit ist sicher falsch, aber das [0] stört mich irgend wie. Und vorn die 1. ist auch richtig? möchtest Du da das 2. data-element?
Sven Harazim
--

Geändert von sh17 ( 4. Mai 2013 um 14:15 Uhr)
  Mit Zitat antworten Zitat
SyntaxXx

Registriert seit: 14. Dez 2008
328 Beiträge
 
Delphi XE4 Architect
 
#3

AW: SuperObject falsches auslesen

  Alt 4. Mai 2013, 14:54
Also wie gesagt, ich habe das jetzt nur anhand eines Online Parsers abgeleitet.
Also das [0] müsste eigentlich richtig sein, da es sich hier um eine aufzählung handelt.

Hier ist jetzt nur 1 Eintrag vorhanden (quasi der nullte Eintrag).
Es wäre aber auch möglich, der zweiten oder dritten Eintrag aufzurufen.
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#4

AW: SuperObject falsches auslesen

  Alt 4. Mai 2013, 15:02
Pauschal (ohne zu testen) hätte ich jetzt mal auf jSon.S['[1].data.children[0].data.body'] getippt.

EDIT: Und mit testen geht es genau so
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)

Geändert von Sir Rufo ( 4. Mai 2013 um 15:15 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:39 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz