Reputation: 520
I am getting following output when i use json_decode for api response
Array
(
[Description] => {
"CustomerData": [
{
"CustomerId": "XXXXX290",
"MemExpiryDate": "2301",
"MobileNo": "XXXXXXX833",
},
{
"CustomerId": "XXXXX291",
"MemExpiryDate": "2109",
"MobileNo": "XXXXXXX587",
}
]
}
)
When i am trying to get CustomerId value with
echo $resp['Description']['CustomerData'][0][CustomerId]
i am getting error
Warning: Illegal string offset 'CustomerData'
can any one explain me how to get value of CustomerId and what am i doing wrong ?
Original response before using json_decode
{"Description":"{\r\n \"CustomerData\": [\r\n {\r\n \"CustomerId\": \"XXXXX290\",\r\n \"MemExpiryDate\": \"2301\",\r\n \"MobileNo\": \"XXXXXXX833\"},\r\n {\r\n \"CustomerId\": \"XXXXX291\",\r\n \"MemExpiryDate\": \"2109\",\r\n \"MobileNo\": \"XXXXXXX587\" }\r\n ]\r\n}"}
Upvotes: 0
Views: 227
Reputation: 57131
The Description
element of $resp
is also a JSON string. You need to decode this to be able to access the data you are after...
$description = json_decode($resp['Description'], true);
echo $description['CustomerData'][0]['CustomerId'];
Upvotes: 1