![]() |
JSON Wert zufügen
Hallo allerseits.
Ich hatte schon mal so meine Schwierigkeiten mit JSON und da wurde mir ja prima geholfen. Jetzt ein unerwartetes neues das hoffentlich letzte Problem . Im Netz und hier und da habe ich gesucht, aber als Kind der XML Welt nur unverständliches Zeug gefunden. Folgende JSON:
Code:
Ich muss zur Node "Lapforce" schlicht die Sprache Czech - also "Czech": null, - hinzufügen, einfügen, anpappen. Mehr nicht. Kann das jemand mit den Bordmitteln von Delphi 10.4 ausführen?
{
"Version": "1", "ID": "Zeptor", "IncompatibleIds": ["Jokola"], "Dependent": null, "Lapforce": { "English": "much", "French": null, "German": "Viel", "Italian": null, "Japanese": null, "Korean": null, "Polish": null, "Russian": null, "Spanish": null, "Taiwanese": null }, "Name": "Turandot", "Contact": "", "Image" : null } Ich brauche das nur diese eine Mal und dafür dann JSON studieren ........:( geldis |
AW: JSON Wert zufügen
Wenn das Objekt als TJSONValue vorliegt:
Delphi-Quellcode:
var LValue : TJSONValue;
LValue := TJSONObject.ParseJSONValue(<Der JSON String>); TJSONObject(AValue.FindValue('Lapforce')).AddPair('Czech', TJSONNull.Create); |
AW: JSON Wert zufügen
Zitat:
|
AW: JSON Wert zufügen
@Union
besten Dank, klappt prima. Jetzt weiß ich auch warum das Pair heißt. Und natürlich bei meinem Glück kommt dann noch was: Code: { "Version": "1", "ID": "Zeptor", "IncompatibleIds": ["Jokola"], "Dependent": null, "Lapforce": { "English": "much", "French": null, "German": "Viel", "Italian": null, "Japanese": null, "Korean": null, "Polish": null, "Russian": null, "Spanish": null, "Taiwanese": null }, "Score": [ { "English": "much", "French": null, "German": "Viel", "Italian": null, "Japanese": null, "Korean": null, "Polish": null, "Russian": null, "Spanish": null, "Taiwanese": null } ], "Name": "Turandot", "Contact": "", "Image" : null } </Code> Die Node Score ist mit eckigen Klammern versehen, vermutlich also sowas wie ein Array. Er fügt den "Czech" Wert dazu, NICht die eckige Klammer. Was jetzt wenn ich nochmal fragen darf. geldis @UweRaabe Danke für die Hilfe. |
AW: JSON Wert zufügen
Die TJSONValue Werte liegen in einem TJSONArray vor.
|
AW: JSON Wert zufügen
oder der rechte Teil (Value) vom Pair
|
AW: JSON Wert zufügen
Nach absolviertem Broterwerb : Da bin ich wieder.
Also ein Array, sehr schön. Am Beispiel oben orientiert würde ich also ein TJSONArray deklarieren
Delphi-Quellcode:
Jetzt habe ich eine Array. Und dann bin ich mal wieder am Ende.
Var
var LValue : TJSONValue; KArray : TJSonArray; .... LValue := TJSONObject.ParseJSONValue(<Der JSON String>); KArray := TJsonArray(LValue.FindValue('Score'); geldis |
AW: JSON Wert zufügen
Du willst kein Array (viele Values), sondern ein Object (viele Pairs mit Name+Value) haben.
|
AW: JSON Wert zufügen
Moin Moin.
Nützt mir jetzt auch nichts. Ich kriege den Bogen nicht raus. :roll: geldis |
AW: JSON Wert zufügen
Auf die einzelnen TJSONValue im TJSONArray greifst Du über die Get - Methode zu. Die erhaltenen Objekte verarbeitest Du analog mit AddPair.
Ich kann Dir nur empfehlen, dich in die Delphi JSON Frameworks einzuarbeiten. Falls Du künftig noch länger programmieren wirst, kommst Du nämlich um JSON (und u.U. BSON, Protocol Buffers etc.) nicht herum. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:58 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz