Skip to content

Instantly share code, notes, and snippets.

View olopsman's full-sized avatar

Paulo Orquillo olopsman

View GitHub Profile
@olopsman
olopsman / JSONdeserialize
Created October 2, 2019 10:01
Apex JSON.deserialize
String input = '{"name":"paulo","age":42, "car" : {"model" : "outlander", "year" : "2016"}}';
Account a = (Account) JSON.deserialize(input, Account.class);
system.assertEquals(a.name, 'paulo');
system.debug(a);
@olopsman
olopsman / GetPerson.cls
Last active October 2, 2019 10:06
Apex GetPerson Class
public class GetPerson {
public String name {get;set;}
public Integer age {get;set;}
public Car car {get;set;}
public class Car {
public String model {get;set;}
public String year {get;set;}
}
}
@olopsman
olopsman / JSONdeserializeGetPerson.cls
Created October 2, 2019 10:07
Apex JSONdeserialize to a class GetPerson
String input = '{"name":"paulo","age":42, "married":true, "car" : {"model" : "outlander", "year" : "2016"}}';
GetPerson person = (GetPerson) JSON.deserialize(input, GetPerson.class);
system.assertEquals(person.name, 'paulo');
system.assertEquals(person.car.model, 'outlander');
@olopsman
olopsman / JSONdeserializeGetPersonArray
Created October 2, 2019 10:09
Apex JSONdeserialize to a GetPerson class from array
String input = '[{"name":"paulo","age":42, "car" : {"model" : "outlander", "year" : "2016"}}, {"name":"tin","age":40, "car" : {"model" : "crv", "year" : "2004"}}]';
List<GetPerson> person = (List<GetPerson>) JSON.deserialize(input, List<GetPerson>.class);
system.assertEquals(person.size(), 2);
@olopsman
olopsman / JSONdeserializeStrict
Created October 2, 2019 10:11
Apex JSON deserializeStrict
String input = '{"name":"paulo","age":42, "car" : {"model" : "outlander", "year" : "2016"}}';
Account a = (Account) JSON.deserializeStrict(input, Account.class);
@olopsman
olopsman / getPersonJSON
Created October 2, 2019 10:14
JSON Person payload
[
{
"_id": "1",
"name": "paulo",
"age": 42,
"car": {
"model": "outlander",
"year": "2016"
},
"kids": [
@olopsman
olopsman / GetPerson.cls
Last active October 2, 2019 10:19
Apex Get Person Class Updated
public class GetPerson {
public String x_id {get;set;}
public String name {get;set;}
public Integer age {get;set;}
public List<String> kids {get;set;}
public Car car {get;set;}
public class Car {
public String model {get;set;}
@olopsman
olopsman / JSONcreateParser.cls
Created October 2, 2019 10:23
Apex sample JSON createParser
String input = '[{"_id":"1","name":"paulo","age":42, "car" : {"model" : "outlander", "year" : "2016"}, "kids" : ["penny", "padma", "amber", "pauline"]}, {"_id":"2","name":"tin","age":40, "car" : {"model" : "crv", "year" : "2004"},"kids" : ["mary", "sophie", "patrice", "laeticia"]}]';
JSONParser parser = JSON.createParser(input);
List<GetPerson> gpList = new List<GetPerson>();
while(parser.nextToken() != JSONToken.END_ARRAY) { // we started with an array of objects
GetPerson gp = new GetPerson();
while(parser.nextToken() != JSONToken.END_OBJECT){ // loop through each object
if(parser.getCurrentToken() == JSONToken.FIELD_NAME) { //token should be field name
String attr = parser.getText(); //get the text of the field name
@olopsman
olopsman / GetPerson.cls
Last active October 3, 2019 08:56
Apex final GetPerson class
public class GetPerson {
public String x_id {get;set;}
public String name {get;set;}
public Integer age {get;set;}
public List<String> kids {get;set;}
public Car car {get;set;}
public class Car {
public String model {get;set;}
public String year {get;set;}
@olopsman
olopsman / GetPersonParse.cls
Created October 2, 2019 10:30
Apex sample GetPerson.parse
String input = '[{"_id":"1","name":"paulo","age":42, "car" : {"model" : "outlander", "year" : "2016"}, "kids" : ["penny", "padma", "amber", "pauline"]}, {"_id":"2","name":"tin","age":40, "car" : {"model" : "crv", "year" : "2004"},"kids" : ["mary", "sophie", "patrice", "laeticia"]}]';
List<GetPerson> gpList = GetPerson.parse(input);
system.debug(gpList);