Suman,
Your json looks like it has an array of contact,postalcode,contactnumber.
Suppose you get the json from an http response:
HttpResponse resp = h.send(req);
You can start parsing it as below:
JSONParser jsonParser = JSON.createParser(resp.getBody());
while(jsonParser.nextToken() != null){
if(jsonParser.getCurrentToken() == JSONToken.START_ARRAY ){
while(jsonParser.nextToken() != JSONToken.END_ARRAY){
if((jsonParser.getCurrentToken() == JSONToken.FIELD_NAME) &&(jsonParser.getText() == 'Key')){
jsonParser.nextToken();
if(jsonParser.getText()== 'Token1'){
jsonParser.nextToken();
if(jsonParser.getCurrentToken() == JSONToken.FIELD_NAME) &&(jsonParser.getText() == 'Value')){
jsonParser.nextToken();
uploadToken = jsonParser.getText();
}
}else if(jsonParser.getText()== 'Token2'){
jsonParser.nextToken();
if((jsonParser.getCurrentToken() == JSONToken.FIELD_NAME) &&(jsonParser.getText() == 'Value')){
jsonParser.nextToken();
destFolderPath = jsonParser.getText();
}
}
}
}
}
Note that here, I'm only interested in getting the values of the two tokens. You can put this inside a loop and get all the values in a list just as easily.
Here's the json I parsed using the above code:
"paramList": [
{
"Key": "Token1",
"Value": "xyz"
},
{
"Key": "Token2",
"Value": "abc"
}
]