Json, аналоги json_decode, менее привередливые к стандартам

slim-akim

Новичок
Json, аналоги json_decode, менее привередливые к стандартам

Здравствуйте!

Друзья, возникла такая ситуация. От сервиса в ответ на запрос приходит "json" такого вида:
{
'data': [{
index: 0,
airline: '',
serviceClass: 'ECONOMY',
prices: [8932, 284.88, 231.93],
eTicketing: true
....
// ну и так далее

json_decode на таком спотыкается, как я понял из манула, по трем причинам:

1) json_decode не понимает одинарные кавычки.
2) json_decode ждет, что и имена свойств должны быть в двойных кавычках.
2) json_decode ждет, что значения должны быть в двойных кавычках.

валидатор (jsonlint.com) тоже сразу выдает ошибку, что де index не в кавычках.

Собственно вопрос: как быть? Если одинарные кавычки на двойные заменить легко, то найти имена свойств и значения не в кавычках довольно утомительно.
Есть ли какие-то обертки, другие библиотеки, которые такой json смогут переделать в ассоциативный массив?

Спасибо!
 

dr-sm

Новичок
ну через зад, как-то так:
$json = str_replace(array("\n","\r"),'',$row->template);
$json = preg_replace('/([{,])\s*([^"]+?)\s*:/', '$1"$2":', $json);
это правда не учитывает одинарные кавычки.
 

slim-akim

Новичок
dr-sm
попробую, спасибо.
Но все же интересует есть ли какие-то библиотеки. Вроде тот же javascript не так привередлив.
 
Сверху