AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Delphi TJSONValue.Format fügt Escapezeichen ein. (Neu in Delphi 12?)
Thema durchsuchen
Ansicht
Themen-Optionen

TJSONValue.Format fügt Escapezeichen ein. (Neu in Delphi 12?)

Ein Thema von bernau · begonnen am 31. Jul 2024 · letzter Beitrag vom 31. Jul 2024
 
Benutzerbild von bernau
bernau

Registriert seit: 1. Dez 2004
Ort: Köln
1.305 Beiträge
 
Delphi 12 Athens
 
#1

TJSONValue.Format fügt Escapezeichen ein. (Neu in Delphi 12?)

  Alt 31. Jul 2024, 08:16
Folgender (Test-)Quellcode:

Delphi-Quellcode:
procedure TFormBeautifyTest.BitBtn1Click(Sender: TObject);
var
  lJSONValue: TJSONValue;
  lJsonString: String;
  lJsonPair: TJsonPair;
begin
  lJsonString := '{"object": "value","test/html": "http://url"}';
  lJSONValue := TJSONObject.ParseJSONValue(lJsonString, true, true);
  try
    MemoDest.Lines.Text := lJSONValue.Format(2);
    //MemoDest.Lines.Text := lJSONValue.tostring; // <- hier gibt es auch den Fehler. Nur unformatiert.
    
    // Mal den Inhalt der JSON-Objekte testen. Hier ist der Wert korrekt.
    lJsonPair := TJSONObject(lJSONValue).Pairs[1];
    MemoDest.Lines.add('');
    MemoDest.Lines.add(lJsonPair.JsonString.Value);
    MemoDest.Lines.add(lJsonPair.JsonValue.Value);
  finally
    lJSONValue.Free;
  end;
end;
Eigentlich erwarte ich folgenden output:

Code:
{
  "object": "value",
  "test/html": "http://url"
}

test/html
http://url
Tatsächlich werden die Slashes mit einem Backslash escaped. Ist aber in einem JSON-Text nicht vorgesehen/notwendig.

Code:
{
  "object": "value",
  "test\/html": "http:\/\/url"
}

test/html
http://url
Bin mir nicht sicher, aber mich meine es war in Delphi 11 nicht so.

Oder habe ich irgendetwas übersehen? Gibt es ein Property, welches die Escape-Zeichen unterdrückt?
Gerd
Kölner Delphi Usergroup: http://wiki.delphitreff.de

Geändert von bernau (31. Jul 2024 um 08:31 Uhr)
  Mit Zitat antworten Zitat
 


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 00:37 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