Here in this post we learn how one can Handle json in Apex code or how you can handle jsonstring in apex .
We need to convert json coming from rest api to perform some operation in apex .
So To do this we can use one of the following methods .
- Convert JSON To Apex Map
- Convert JSON To Apex Wrapper class
- We can use Parser Class method to parse json .
Lets understand above points with help of an Example.
Here is our json example .
String jsonData = {name: “John”, age: 31, city: “New York”};
We use this json in all example
- Convert JSON To apex Map
You Can easily Convert Json to Apex Map by using JSON.deserializeUntyped
Map<String, Object> resMap = (Map<String, Object>)JSON.deserializeUntyped(jsonData);
2 . Convert JSON to apex Wrapper class
Use JSON.deserialize method to convert json into wrapper. you can use JSON.deserialize to convert json into any type you want.
jsonWrapper Jsondatawrapper = (jsonWrapper)JSON.deserialize(jsonData,jsonWrapper.class)
To Use this method you need to create a wrapper class first.
Wrapper class :
public class jsonWrapper
{
// here rows is the name of field in json this variable should be
public string name ;
public string state;
public string city ;
}
Now Convert jsonString to wrapper class .
jsonWrapper Jsondatawrapper = (jsonWrapper)JSON.deserialize(jsonData,jsonWrapper.class);
You can easily use wrapper class like this .
system.debug(‘value of name is ‘+Jsondatawrapper.name);
system.debug(‘value of state is ‘+Jsondatawrapper.state);
system.debug(‘value of city is ‘+Jsondatawrapper.city);
3 . Use the Json Parser Class methods to Parse JSON-Encoded Content.
you can also use json parser class like below example to get values from json string .
JSONParser parser = JSON.createParser(jsonData);
parser.nextToken();// token parser
parser.nextValue(); // value paser
if (parser.getCurrentName() == 'City')
{
String city = parser.getText();
system.debug('value of city is '+city);
parser.nextToken();
parser.nextValue();
}
Views: 0
