Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const
- JsonToDeserialize =
- '[{"customerNumber":"string","type":"string","name":"string","entityDetails":{"organizationType":"string","numberOfOwners":0,"dateOfFoundation":"2019-11-06T17:10:00"},'
- + '"naturalDetails":{"lastName":"string","firstName":"string","middleName":"string","dateOfBirth":"2000-01-01","gender":"string","maritalStatus":"string","numberOfFamilyMembers":0},'
- + '"idDocument":"string","address":"string","addressArea":[{"value":"string"}]}]';
- function RefCount(const _s: AnsiString): Integer;
- var
- ptr: PLongWord;
- begin
- ptr := Pointer(_s);
- Dec(ptr, 2);
- Result := ptr^;
- end;
- procedure TForm1.Button1Click(Sender: TObject);
- var
- MyRec: TDatas;
- LJson: RawUTF8;
- begin
- LJson := JsonToDeserialize;
- ShowMessage(InttoStr(RefCount(AnsiString(LJson))));
- UniqueRawUTF8(LJson);
- ShowMessage(InttoStr(RefCount(AnsiString(LJson))));
- // This will now work because we have a unique string
- if SynCommons.DynArrayLoadJSON(MyRec, Pointer(LJson), TypeInfo(TDatas)) = nil then
- ShowMessage('Json de-serialization failed')
- else
- ShowMessage('Json successfully transfered in record');
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement