AGB  ·  Datenschutz  ·  Impressum  







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

JSON Wert zufügen

Ein Thema von geldis · begonnen am 15. Feb 2022 · letzter Beitrag vom 17. Feb 2022
Antwort Antwort
Seite 1 von 2  1 2      
geldis

Registriert seit: 19. Jan 2022
28 Beiträge
 
#1

JSON Wert zufügen

  Alt 15. Feb 2022, 08:14
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:
{
  "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 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?

Ich brauche das nur diese eine Mal und dafür dann JSON studieren ........

geldis
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.487 Beiträge
 
Delphi 7 Enterprise
 
#2

AW: JSON Wert zufügen

  Alt 15. Feb 2022, 08:46
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);
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

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

AW: JSON Wert zufügen

  Alt 15. Feb 2022, 08:51
Ich brauche das nur diese eine Mal
Dieser Satz ist vermutlich für einen Großteil des schlechten Codes auf der Welt mitverantwortlich.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
geldis

Registriert seit: 19. Jan 2022
28 Beiträge
 
#4

AW: JSON Wert zufügen

  Alt 15. Feb 2022, 10:04
@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.
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.487 Beiträge
 
Delphi 7 Enterprise
 
#5

AW: JSON Wert zufügen

  Alt 15. Feb 2022, 10:23
Die TJSONValue Werte liegen in einem TJSONArray vor.
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.140 Beiträge
 
Delphi 12 Athens
 
#6

AW: JSON Wert zufügen

  Alt 15. Feb 2022, 10:28
oder der rechte Teil (Value) vom Pair
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
geldis

Registriert seit: 19. Jan 2022
28 Beiträge
 
#7

AW: JSON Wert zufügen

  Alt 15. Feb 2022, 16:32
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:
Var
var LValue : TJSONValue;
KArray : TJSonArray;

....

LValue := TJSONObject.ParseJSONValue(<Der JSON String>);
KArray := TJsonArray(LValue.FindValue('Score');
Jetzt habe ich eine Array. Und dann bin ich mal wieder am Ende.

geldis
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.140 Beiträge
 
Delphi 12 Athens
 
#8

AW: JSON Wert zufügen

  Alt 15. Feb 2022, 17:00
Du willst kein Array (viele Values), sondern ein Object (viele Pairs mit Name+Value) haben.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
geldis

Registriert seit: 19. Jan 2022
28 Beiträge
 
#9

AW: JSON Wert zufügen

  Alt 16. Feb 2022, 07:12
Moin Moin.

Nützt mir jetzt auch nichts. Ich kriege den Bogen nicht raus.

geldis
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.487 Beiträge
 
Delphi 7 Enterprise
 
#10

AW: JSON Wert zufügen

  Alt 16. Feb 2022, 08:20
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.
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 05:28 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