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 - Wordpress website dashboard page or post editor content is not showing but front end data is showing properly -

How to get the ip address of VM and use it to configure SSH connection dynamically in Ansible -

javascript - Get parameter of GET request -