How do I populate a JSON array with values (not pairs) in Delphi? -


i'm trying create json looks this:

{ "guestlist": ["alice","bob","charlie"] } 

typical examples see populating json array this:

var    jsobj: tjsonobject;         jso : tjsonobject;         jsa : tjsonarray;   jsp : tjsonpair;  begin     jsobj := tjsonobject.create();     jsa := tjsonarray.create();     jsp := tjsonpair.create('guestlist', jsa);     jsobj.addpair(jsp);      jso := tjsonobject.create();     jso.addpair(tjsonpair.create('person', 'alice'));     jsa.addelement(jso);      jso := tjsonobject.create();     jso.addpair(tjsonpair.create('person', 'bob'));     jsa.addelement(jso);      jso := tjsonobject.create();     jso.addpair(tjsonpair.create('person', 'charlie'));     jsa.addelement(jso); end; 

but result in this:

{ "guestlist": [{"person":"alice"},{"person":"bob"},{"person":"charlie"}] } 

how can add single value array instead of pair? see nothing in documentation tjsonobject on how this,

this lot simpler you're making out be. tjsonarray can happily contain tjsonvalue elements solution quite straightforward.

program project1; {$apptype console}  uses   json;  var   ljobj : tjsonobject;   lguestlist : tjsonarray; begin    lguestlist := tjsonarray.create();   lguestlist.add('alice');   lguestlist.add('bob');   lguestlist.add('charlie');    ljobj := tjsonobject.create;   ljobj.addpair(tjsonpair.create('guestlist', lguestlist));    writeln(ljobj.tostring);   readln; end. 

produces output :

{"guestlist":["alice","bob","charlie"]} 

Comments

Popular posts from this blog

php - Extract Text from HTTP referer -

Receive udp packets in android gstreamer -

authentication - ASP.NET Core 1.0. Bearer Token, cannot access custom claims -