![]() |
Delphi-Version: 5
TJSONValue und suche Token mit Punkt im Namen
Ich habe hier eine JSON, bei dem ein JSON im Namen einen Punkt hat.
Damit habe ich das Problem das StatusJSON.GetValue<String>('<Level1>.<Level2_Mit_ Punkt>.<Level3>'); nicht mehr geht, da er durch den Punkt "außer Tritt kommt". Kann man evtl. den Pfad-Trenner konfigurieren? |
AW: TJSONValue und suche Token mit Punkt im Namen
JSON ist JacaScript, und somit zunächst zur letzten Frage: Auch, wenn du es könntest, wäre es halt kein JSON mehr.
Und zum eigentlichen Problem: ein Punkt im Namen ist bei JSON unzulässig und müsste somit (meines Wissens nach) zu einer Fehlermeldung führen. Das darfst du einfach nicht, du musst den Punkt bei der Eingabe und der Abfrage irgendwie Escapen (zB. durch einen Unrerstrich). |
AW: TJSONValue und suche Token mit Punkt im Namen
Ein Check mit
![]() ![]() sagt: Alle OK. Also muss es gehen. Blos wie in der Delphi-Implementierung? |
AW: TJSONValue und suche Token mit Punkt im Namen
die Punktnotation ist doch eher Javascript als JSON oder?
Ich mein "name":"Value" aber in js kunde.name:'Value' |
AW: TJSONValue und suche Token mit Punkt im Namen
Nimm die Variante ohne Generics. Sieht man auch an den Parametern: Bei der nicht parametrisierten Variante heißt der Parameter "Name", bei der mit Generics heißt er "Path".
Delphi-Quellcode:
uses
System.SysUtils, System.Json; const input = '{"some.value": "Hello"}'; var jsonObject: TJSONObject; jsonValue: TJSONValue; stringValue: String; begin jsonObject := TJSONObject.ParseJSONValue(input) as TJSONObject; jsonValue := jsonObject.GetValue('some.value'); // Findet er stringValue := jsonObject.GetValue<String>('some.value'); // Findet er NICHT end. |
AW: TJSONValue und suche Token mit Punkt im Namen
Danke. Funktioniert.
Muss das zwar in zwei schritte machen, da der problematische Key erst auf zweiter Ebene kommt. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:13 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