2017-01-15 3 views
1

У меня есть содержимое строки, например this. Насколько я знаю, это JSON. Потому что это ответ на запрос ajax. Теперь мне нужно разобрать его, как я могу это сделать?Как я могу разобрать странный тип JSON?

Отмечено, что я могу это сделать regex, но, как вы знаете, это очень не рекомендуется.

+2

то, что вы вставили недействительным JSON. – raidenace

+0

код после 86103 - это массив –

+0

Постройте его на http://codebeautify.org/jsonviewer – MYGz

ответ

2

Данные JSON, предоставленные вами, являются довольно недействительными. Сначала вам нужно исправить это, тогда вы можете преобразовать его в php-массивы с помощью собственных функций.

Подача этого JSON на (стандартный) парсер практически на любой язык даст вам ошибку. Причина в том, что эти синтаксические анализаторы основаны на предопределенных правилах для формата JSON. Итак, я предлагаю работать над источником данных и сделать его действительным JSON.

Если вы все еще настаиваете на использовании этих данных для анализатора, вам нужно найти «прощающий» парсер. Расширение PHP native JSON не может быть избито для скорости, но оно очень неумолимо на json, которое оно анализирует как действительное. И его уверенный удар для почти всех.

PEAR JSON - прощающий парсер, который будет анализировать и переформатировать недействительный JSON для вас, вам нужно будет установить это расширение. Но я по-прежнему рекомендую работать с достоверными данными, потому что неправильный JSON может привести к непредсказуемым результатам, и вам это не понравится в процессе производства.

Смежные вопросы