Vielleicht habe ich aber auch ein Fehler gemacht.
Wenn ich den Umweg über einen String gehe, kann ich mir die eigene Routine sparen.
Das erste Beispiel erzeugt eine
Exception, aber das zweite Beispiel funktioniert.
Aber einen direkten weg das Object zu erzeugen habe ich nicht gefunden.
Delphi-Quellcode:
// Übergabe an diese Funktion AParam bzw. LParam : TJSONObject;
var
FJSONData : TJSONObject;
FJSONDataString :
String;
begin
// ****** Exception
FJSONData := LParam.GetValue<TJSONObject>( sngTypeJSONName_Parameter_JSONData);
// Das verursacht eine Exception weil ein "-Zeichen mit einem Steuerzeichen versehen ist: Exception bei \"
// *******
FJSONDataString := LParam.GetValue<
string>( sngTypeJSONName_Parameter_JSONData);
// Das funktioniert und die Backslashs sind weg
//FJSONDataString := ReplaceJSONEscape(FJSONDataString); // Dies ist also nicht notwendig
FJSONData := TJSONObject.ParseJSONValue( FJSONDataString)
as TJSONObject;
// und hier erzeuge ich mein TJSONObject