How can I deserialize this json object:
{
"response": {
"count": 1,
"benchmark": 0.22567009925842,
"requests": [
{
"request": {
"id": 537481,
"image_thumbnail": "",
"title": "Request for new bin(s) - residential",
"description": "Propmain ref 3234-1114",
"status": "submitted",
"address": "36 Pine Tree Close",
"location": "Peterborough, England",
"zipcode": "PE1 1EJ",
"user": "",
"date_created": 1417173208,
"count_comments": 0,
"count_followers": 0,
"count_supporters": 0,
"lat": 52.599967,
"lon": -0.233482,
"user_follows": 0,
"user_comments": 0,
"user_request": 1,
"rank": "0"
}
}
],
"status": {
"type": "success",
"message": "Success",
"code": 200,
"code_message": "Ok"
}
}
}
What i've tried:
Map<String,Object> rawObj = (Map<String,Object>) JSON.deserializeUntyped(jsonString);
Map<String,Object> responseObj = (Map<String,Object>)rawObj.get('response');
List<Object> reqs = (List<Object>) responseObj.get('requests');
System.debug('Map Size = ' + reqs.size());
Map<String, Object> i = new Map<String, Object> ();
for (Object x : reqs) {
i = (Map<String, Object>)x;
}
Map<String,Object> requests = (Map<String,Object>)i.get('request');
System.debug('Map Size = ' + i.size());
for (String field : i.keySet()){
Object id = i.get(field);
Object title = i.get('title');
System.debug('Id : ' + id);
System.debug('title : ' + title);
//System.debug('Title : ' + title);
}