Intereting Posts
Пользовательская проверка не работает – Yii2-app-basic-Yii2 Мой сайт заражен запутанным вредоносным программным обеспечением PHP – что он делает +, как я могу избавиться от него? .htaccess между разработкой, постановкой и производством ОШИБКА: Предупреждение: mysql_num_rows () ожидает, что параметр 1 будет ресурсом, boolean задан в C: \ xampp \ htdocs \ … \ … php в строке 19 Рекомендация для процедуры разбивки на страницы AJAX PHP Библиотека HTML-форм для PHP 5 Как закрыть соединение Smtp в SwiftMailer В чем разница между параметрами закрытия и ключевым словом «use»? Ошибки в Unknown on Line 0 после обновления PHP PHP @ operator for include не отключает error_reporting Концептуальная проблема Symfony2: общие пакеты по сравнению с конкретными Как найти разницу в днях между двумя датами Magento CE :: Скидка на первый заказ? Определить тип запроса MySQL в Zend Framework PHP – Как частично сравнить элементы в 2 массивах

Проблема с записью json_decode PHP

У меня проблема с нотацией, используемой в файле JSON, который я пытаюсь разобрать. Некоторые узлы имеют. (периоды) в именах, которые избегают объектной нотации ($json = $article->rssFeed.url;)

Как бы я хотел выбрать узлы. Нужно ли мне str_replace. (Периоды), или есть некоторые другие обозначения, которые я могу использовать? Вот фрагмент JSON:

 "docs": [{"rssFeed.type": "news", "rssFeed.url": "http://www.example.com/", "score": 1.0 }] 

Вы можете использовать фигурные скобки вокруг имени для доступа к свойству:

 <?php $o = json_decode('{"docs": [{"rssFeed.type": "news", "rssFeed.url": "http://www.example.com/", "score": 1.0 }]}'); var_dump($o->docs[0]->{'rssFeed.url'}); ?> 

@eWolf: вы все еще правы, php почти похож на javascript как на C как на природу.

 $object = json_decode('{"docs": [{"rssFeed.type": "news", "rssFeed.url": "http://www.example.com/", "score": 1.0 }]}', TRUE); 

Примечание: второй аргумент json_decode() , TRUE . Это заставляет функцию возвращать ассоциативный массив.

Теперь можно использовать $object['rssFeed.type'] .