Как мне проанализировать этот вид строки json в PHP, поскольку json_decode не работает?

#php #json

#php #json

Вопрос:

Я считываю данные из URL и получаю ответ в формате json ниже:

 '"{rn "data": "",rn "error": ".",rn "success": ""rn}"'
  

Поскольку после использования json_decode ($aboveStr, true); он выводит следующий формат строки:

 {"data": "","error": "","success": ""}
  

Я хочу вывод в виде массива.

Комментарии:

1. Эта строка закодирована дважды, вам нужно ее дважды декодировать.

2. это сработало! спасибо 🙂

3. однако правильнее всего исправить любую программу, кодирующую JSON дважды

Ответ №1:

по какой-то причине ваша входная строка была дважды закодирована в JSON, поэтому вам нужно вызвать json_decode() дважды:

 $array = json_decode(json_decode($aboveStr), true);
  

Ответ №2:

Вам нужно дважды декодировать вашу строку, используя json_decode twice. Попробуйте:

 print_r(json_decode(json_decode($aboveStr), TRUE));
  

Он выводит

 Array ( [data] => [error] => . [success] => )