Как правильно работать с json_decode в PHP

Оказывается, чтобы json_decode правильно распарсила ваш строковый json,

необходимо сделать следующее:

1) удостоверьтесь, что ваш json в кодировке utf-8, других json_decode не понимает

2) замените все одинарные кавычки, обрамляющие строки, на двойные, если конечно, таковые имеются

3) имена полей также должны быть заключены в двойные кавычки, т.е. {prop: «value»} не прокатит, нужно {«prop»: «value»}

И все !

Можно конечно из этого ничего не предпринимать, а сразу воспользоваться замечательной библиотекой JSON-PHP от Михаля Мигурски. Работает замечательно :) . Есть правда одно «но», она довольно медленная, если ей скормить строку с json-ом больше 30 кб, то она будет её парсить чуть ли не целую секунду. А если json еще крупнее => ? :) , тогда как json_decode тот же json преобразует за миллисекунды …

Тэги: , ,

  • 4 комментариев на “Как правильно работать с json_decode в PHP”

    1. SLonoed:

      Спасибо за инфу.

    2. waffen:

      json_encode($value) — так проще, вернет объект

    3. saintist:

      не всегда

    4. IVAN86:

      Спасибо!!!!!!!!

    Оставить комментарий