You need to sign in to do that
Don't have an account?
bharath kumar 52
Json generator difference while making callouts
Hi All,
I haven't worked much on integrations so i would like to know what's the difference in these 2 syntaxes below in generating json, i personally feel they do the same thing but i would like to know the differences and any other pros and cons of both the approaches and when to use which approach.
Generating json :
Approach 1
Approach2:
I haven't worked much on integrations so i would like to know what's the difference in these 2 syntaxes below in generating json, i personally feel they do the same thing but i would like to know the differences and any other pros and cons of both the approaches and when to use which approach.
Generating json :
Approach 1
JSONGenerator gen = JSON.createGenerator(true); gen.writeStartObject(); gen.writeFieldName('Patient satisfaction'); gen.writeStartArray(); for (Patient_Satisfaction__c patientSatisfaction : PrRecord) { gen.writeStartObject(); gen.writeObjectField('First name', patientSatisfaction.Reporter_First_Name__c); gen.writeObjectField('Last name', patientSatisfaction.Reporter_Last_Name__c); gen.writeObjectField('Phone', patientSatisfaction.Reporter_Phone__c); gen.writeObjectField('description', patientSatisfaction.Description_of_Feedback__c);gen.writeEndObject(); } gen.writeEndArray(); gen.writeObjectField('incident_group_id',7387); gen.writeObjectField('Name', 'TestAPI'); gen.writeEndObject(); //// This code snippet generates a json array
Approach2:
String jsonstr='{"Name":"'+ Accname +'","Phone":"'+ phone +'"}'; Http h2= new Http(); //setting headers and other stuff required for callouts // // req2.setBody(jsonstr); HttpResponse res2=h2.send(req2); System.debug(res2+'###1213createresp'); deserializeResponse deresp2=(deserializeResponse)System.JSON.deserialize(res2.getBody(),deserializeResponse.class);
The first approach is basically you generate a json structure using JSONGenerator class you can google it for detailed usage. And in second approach you basically not generating any json structure but you deserialize, whatever comes in response body.
Bonus: You can generate json using wrapper class also and its easy and fastest as compare JSONGenerator.
Don't forgot to mark this as best answer if it's clear you boudt, so it helps other people as well.
Thanks,
Rahul