AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein TJson.JsonToObject funktioniert unter Delphi 10.3 nicht mehr wie unter 10.2

TJson.JsonToObject funktioniert unter Delphi 10.3 nicht mehr wie unter 10.2

Ein Thema von sh17 · begonnen am 7. Dez 2018 · letzter Beitrag vom 7. Dez 2018
Antwort Antwort
Benutzerbild von sh17
sh17

Registriert seit: 26. Okt 2005
Ort: Radebeul
1.437 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#1

TJson.JsonToObject funktioniert unter Delphi 10.3 nicht mehr wie unter 10.2

  Alt 7. Dez 2018, 08:52
Hi, ich nutze bisher immer TJson.JsonToObject und TJson.ObjectToJsonString um Objekte serialisieren und deserialisieren zu können.

Seit Delphi 10.3 kann ich mein Objekt aber nicht mehr laden und speichern. Es kommen folgende Meldungen:

... TJson.JsonToObject<TMyObjList>(hstr);
EConversionError "Value 0 cannot be converted into Pointer. You ma use a user-defined reverter"


... TJson.ObjectToJsonString(myobj);
EConversionError "Type tkPointer is not currently supportet"

Hat sich hier etwas geändert, weiß jemand etwas?

Das Objekt ist relativ simpel.

Code:
  TMyObj = class(TObject)
  private
    FDescription: String;
    FSubject: String;
    FBody: String;
  published
    property Description : String read FDescription write FDescription;
    property Subject : String read FSubject write FSubject;
    property Body : String read FBody write FBody;
  end;
  TMyObjList = class(TObjectList<TMyObj>);
Sven
--
  Mit Zitat antworten Zitat
Benutzerbild von sh17
sh17

Registriert seit: 26. Okt 2005
Ort: Radebeul
1.437 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#2

AW: TJson.JsonToObject funktioniert unter Delphi 10.3 nicht mehr wie unter 10.2

  Alt 7. Dez 2018, 08:58
OK, verdammt

https://community.embarcadero.com/fo...7-rio-and-json

https://quality.embarcadero.com/browse/RSP-21685
Sven
--

Geändert von sh17 ( 7. Dez 2018 um 09:33 Uhr)
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
1.704 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#3

AW: TJson.JsonToObject funktioniert unter Delphi 10.3 nicht mehr wie unter 10.2

  Alt 7. Dez 2018, 08:59
Ich benutze dafür TJSONMarshal, das funktioniert vor und nach Rio:

Delphi-Quellcode:
function TJson_Marshal_Base<T>.DoMarshal(const AMar : TJSONMarshal) : String;
var
  LValue: TJSONValue;

begin
    LValue := AMar.Marshal( Self );
    try
        Result := LValue.ToString;
    finally
        LValue.Free; // New: LValue temp. obj. must be freed
    end;

end;


function TJson_Marshal_Base<T>.Internal_ToString : String;
var
  LMar : TJSONMarshal;

begin
  LMar := TJSONMarshal.Create(TJSONConverter.Create, True);

  try
      Result := DoMarshal( LMar ); // To Avoid uncaught exceptions

  finally
      LMar.Free;
  end;

end;
Rollo
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 20:15 Uhr.
Powered by vBulletin® Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2018 by Daniel R. Wolf