0

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}"}
4
  • 1
    Can you show your original JSON as it looks like Description is a JSON string. Commented Mar 26, 2020 at 12:22
  • Maybe you should use json_decode with second $assoc true param. Commented Mar 26, 2020 at 12:27
  • @NigelRen, i have edited my question, have added response before json_decode Commented Mar 26, 2020 at 12:32
  • @AaronYordanyan i don't get you Commented Mar 26, 2020 at 12:35

1 Answer 1

1

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'];
Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.