Оказывается, чтобы json_decode правильно распарсила ваш строковый json,
необходимо сделать следующее:
1) удостоверьтесь, что ваш json в кодировке utf-8, других json_decode не понимает
2) замените все одинарные кавычки, обрамляющие строки, на двойные, если конечно, таковые имеются
3) имена полей также должны быть заключены в двойные кавычки, т.е. {prop: «value»} не прокатит, нужно {«prop»: «value»}
И все !
Можно конечно из этого ничего не предпринимать, а сразу воспользоваться замечательной библиотекой JSON-PHP от Михаля Мигурски. Работает замечательно
. Есть правда одно «но», она довольно медленная, если ей скормить строку с json-ом больше 30 кб, то она будет её парсить чуть ли не целую секунду. А если json еще крупнее => ?
, тогда как json_decode тот же json преобразует за миллисекунды …
Тэги: json_decode, php, utf
Спасибо за инфу.
json_encode($value) — так проще, вернет объект
не всегда
Спасибо!!!!!!!!