AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

TJsonObject Parsen

Ein Thema von SyntaxXx · begonnen am 25. Feb 2013 · letzter Beitrag vom 3. Feb 2016
Antwort Antwort
SyntaxXx

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

TJsonObject Parsen

  Alt 25. Feb 2013, 21:32
Guten Abend zusammen,
und zwar habe ich eine Textfile mit einem langen Json String.
Nun wollte ich diesen Parsen, doch ich hab keine Ahnung wie ich das angehen soll.

Ich habe mich ein wenig schlau gemacht und habe in den Units "DBXJSON, DBXJSONReflect" das TJsonObject gefunden.
Nur leider habe ich keine Ahnung wie ich dort eine Datei bzw. String laden und parsen könnte.
Und auch das Wiki von Embarcadero selbst sagt nicht wirklich viel.

Jetzt ist die Frage, ob jemand von euch mir helfen könnte, wie man einen String parst.

(SuperObject.pas möchte ich eigentlich nicht verwenden)
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.445 Beiträge
 
Delphi 12 Athens
 
#2

AW: TJsonObject Parsen

  Alt 26. Feb 2013, 00:27
Was steht denn in dem JSON-String?
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
vagtler

Registriert seit: 9. Jul 2010
Ort: Köln
667 Beiträge
 
Delphi 2010 Professional
 
#3

AW: TJsonObject Parsen

  Alt 26. Feb 2013, 06:45
[...] (SuperObject.pas möchte ich eigentlich nicht verwenden)
Warum?
  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: TJsonObject Parsen

  Alt 26. Feb 2013, 09:07
Wenn man die Begrifflichkeiten kennt, warum kein Blick in die Doku?

http://docwiki.embarcadero.com/Libra...ParseJSONValue
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)
  Mit Zitat antworten Zitat
SyntaxXx

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

AW: TJsonObject Parsen

  Alt 27. Feb 2013, 20:33
Ich habe mich jetzt dazu doch SuperObject zu benutzen, da es viel einfacher zu verwenden ist.

Jetzt hab ich nur ein Problem.
Mein String sieht so aus:

Code:
{
"info":{

    "file":[
        {
            "id":"123",
            "name":"index.php"
        },
        {
            "id":"124",
            "name":"index.html"
        }
    ]
}
Wie komme ich hier jetzt an die Daten von den beiden ID Feldern?
  Mit Zitat antworten Zitat
gzuz

Registriert seit: 3. Feb 2016
3 Beiträge
 
#6

AW: TJsonObject Parsen

  Alt 3. Feb 2016, 10:14
Hallo,
ich habe momentan das selbe Problem.
Mein JSONString hat den selben Aufbau wie in dem vorherigen Beitrag.
Aber wir komme ich an , in diesem Fall die IDs, ran?

Ich benutze delphi 10 seattle

Freue mich über jede Antwort
  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
 
#7

AW: TJsonObject Parsen

  Alt 3. Feb 2016, 10:18
Schau mal dort nach
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)
  Mit Zitat antworten Zitat
gzuz

Registriert seit: 3. Feb 2016
3 Beiträge
 
#8

AW: TJsonObject Parsen

  Alt 3. Feb 2016, 10:22
Vielen dank, endlich etwas Aufklärung
  Mit Zitat antworten Zitat
gzuz

Registriert seit: 3. Feb 2016
3 Beiträge
 
#9

AW: TJsonObject Parsen

  Alt 3. Feb 2016, 10:56
Ich habe allerdings noch eine Frage.
Mein JSONString unterteilt sich in zwei Objekte, welche jeweils aus einem Array bestehn. Mein Problem ist, dass ich nicht weiß wie man, wenn man den gesamten Response als String hat, ihn in zwei objekte zu teielen, um damit dann weiter arbeiten zu können.
Also ein Objekt 1 als String bekommt und Objekt 2 als String bekommt. Ich habe kein Problem mit dem Auslesen von Strings oder anderen datentypen solange ich nur ein obj. habe.

Ich lese mich erst seit zwei Tagen ein, habe aber schon gefühlt jeden Forumbeitrag durchforstet aber nur wenig nützliches gefunden.
abgesehen davon dass ich JSON immer noch nicht richtig verstanden habe.

Geändert von gzuz ( 3. Feb 2016 um 10:58 Uhr)
  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
 
#10

AW: TJsonObject Parsen

  Alt 3. Feb 2016, 11:09
Wie in den anderen Threads schon genannt:

Strukturen definieren und einfach benutzen:
Code:
{
  "foo":{
    "items":[
      {
        "name":"bla"
      },
      {
        "name":"blupp"
      }
    ]
  },
  "bar":{
    "items":[
      {
        "name":"blabla"
      },
      {
        "name":"blubber"
      }
    ]
  }
}
Delphi-Quellcode:
type
  TItemJSON = class
  private
    [JsonName('name')]
    FName: string;
  public
    property Name: string read FName;
  end;

  TItemsJSON = class
  private
    [JsonName('items')]
    FItems: TArray<TItemJSON>;
  public
    property Items: TArray<TItemJSON> read FItems;
  end;

  TContainerJSON = class
  private
    [JsonName('foo')]
    FFoo: TItemsJSON;
    [JsonName('bar')]
    FBar: TItemsJSON;
  public
    property Foo: TItemsJSON read FFoo;
    property Bar: TItemsJSON read FBar;
  end;
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)
  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 21:40 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