You need to sign in to do that
Don't have an account?
Anudeep B
JSON.writeObject(); elaboration need
Ihave this JSON :
public class Exinteg {
public string result{get;set;}
public Exinteg()
{
JSONGenerator jg = JSON.CreateGenerator(true);
jg.writestartObject();
jg.writestringfield('Name','Sathish');
jg.writeNumberField('age',30);
jg.writeFieldName('Account');
list<account> acc= [select name,industry from account limit 2];
jg.writeObject(acc); // What processing internally at this line
jg.writeFieldName('myarray');
jg.writestartArray();
jg.writenumber(10);
jg.writenumber(20);
jg.writeEndArray();
jg.writeEndObject();
result=jg.getAsString();
}
}
{ "Name" : "Sathish", "age" : 30, "Account" : [ { "attributes" : { "type" : "Account", "url" : "/services/data/v33.0/sobjects/Account/0019000001Epo6BAAR" }, "Name" : "Sunkeert", "Id" : "0019000001Epo6BAAR", "Industry" : "Chemical" }, { "attributes" : { "type" : "Account", "url" : "/services/data/v33.0/sobjects/Account/0019000001Epo6CAAR" }, "Name" : "Samba", "Id" : "0019000001Epo6CAAR", "Industry" : "Chemical" } ], "myarray" : [ 10, 20 ] }
i was fetching only name and industry fields from account but why the other coming to JSON? which i didn't use in SOQL Query (in bold above).
public class Exinteg {
public string result{get;set;}
public Exinteg()
{
JSONGenerator jg = JSON.CreateGenerator(true);
jg.writestartObject();
jg.writestringfield('Name','Sathish');
jg.writeNumberField('age',30);
jg.writeFieldName('Account');
list<account> acc= [select name,industry from account limit 2];
jg.writeObject(acc); // What processing internally at this line
jg.writeFieldName('myarray');
jg.writestartArray();
jg.writenumber(10);
jg.writenumber(20);
jg.writeEndArray();
jg.writeEndObject();
result=jg.getAsString();
}
}
{ "Name" : "Sathish", "age" : 30, "Account" : [ { "attributes" : { "type" : "Account", "url" : "/services/data/v33.0/sobjects/Account/0019000001Epo6BAAR" }, "Name" : "Sunkeert", "Id" : "0019000001Epo6BAAR", "Industry" : "Chemical" }, { "attributes" : { "type" : "Account", "url" : "/services/data/v33.0/sobjects/Account/0019000001Epo6CAAR" }, "Name" : "Samba", "Id" : "0019000001Epo6CAAR", "Industry" : "Chemical" } ], "myarray" : [ 10, 20 ] }
i was fetching only name and industry fields from account but why the other coming to JSON? which i didn't use in SOQL Query (in bold above).
Thanks,
Kaustav
All Answers
Thanks,
Kaustav
to get only Name and Industry i need to use your code am i correct?