![]() |
JSON valuePair entfernen
Wie kann man bitte aus dem JSON "vatRate" entfernen?
Code:
{
"price": { "dealerPriceGross": "535.50", "vatRate": "1.23", "currency": "EUR" } }
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var aJSON: TJSonValue; aJSONStr:String; begin aJSONStr := '{"price": { "dealerPriceGross": "535.50", "vatRate": "1.23", "currency": "EUR" }}'; aJSON := TJSONObject.ParseJSONValue(aJSONStr); end; |
AW: JSON valuePair entfernen
|
AW: JSON valuePair entfernen
Delphi-Quellcode:
var
aJSON: TJSONValue; aJSONObj: TJSONObject; aJSONStr: string; begin aJSONStr := '{"price": { "dealerPriceGross": "535.50", "vatRate": "1.23", "currency": "EUR" }}'; aJSON := TJSONObject.ParseJSONValue(aJSONStr); aJSONObj := aJSON.GetValue<TJSONObject>('price'); aJSONObj.RemovePair('vatRate'); aJSONStr := aJSON.ToJSON; end; |
AW: JSON valuePair entfernen
ach, über TJSONObject. Das habe ich übersehen.
Besten Dank Uwe. |
AW: JSON valuePair entfernen
Ist es auch möglich das Pair über den path zu adressen um es zu löschen?
Alle Elemente die keinen Wert haben müssen entfernt werden. Über den Path lässt sich das Pair leider nicht löschen. In diesem code Beispiel könnte ich schon das Element Price herausziehen und dessen leere Elemente einzelne Element, so wie es der Uwe vorgeschlagen hat. Danach müsste ich ein neues JSON bauen und alle Elemente einzeln einfügen. Das würde schon gehen.
Code:
{
"price": { "dealerPriceGross": "2890.00", "consumerPriceGross": "2890.00", "dealerPriceNet": "", "consumerPriceNet": "", "vatRate": "", "type": "FIXED", "currency": "EUR" }, "internalNumber": "R033-7781", "loadCapacity": 890 }
Delphi-Quellcode:
procedure RemoveItems(var aJSON: TJSONObject);
begin aJSON.RemovePair('price.dealerPriceNet'); //über den Path das Pair löschen. So geht es nicht. end; |
AW: JSON valuePair entfernen
Zitat:
|
AW: JSON valuePair entfernen
Sorry Uwe,
natürlich hast du recht. Es funktioniert einwandfrei. Irritiert hat mich dass nach dem RemovePair das aJSONObj nicht zurückgeschrieben wird in aJSON. Doch das braucht es nicht da es darauf referenziert.
Delphi-Quellcode:
Tausend Dank und noch einen schönen Tag. aJSONObj.RemovePair('vatRate'); aJSONStr := aJSON.ToJSON; Gruß Kostas |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:02 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-2025 by Thomas Breitkreuz