У меня есть файл JSON, скажем, что-то вроде этого ...
{
...{
},
"notifications": {
"satisfactory_record":"satisfactory record",
"invalid_token" : "Invalid Token",
...
},
"faq": {
"title" : "Frequently asked questions",
"questions": [
{
"title" : "What is...?",
"content" : "This is..."
},
{
"title" : "What is...?",
"content" : "This is..."
},
{
"title" : "What is...?",
"content" : "This is..."
},
...
]
}
}
И я хочу взять объект "faq"
и напечатать заголовок и содержимое "questions"
на странице faq.php
, используя цикл или итератор:
<?php
echo "<ul>";
$json = json_decode(file_get_contents('file.json'), true); // Array
$questions = $json['faq']['questions'];
foreach($questions as $question){
echo "<li>";
echo "<span>$question['title']</span>";
echo "<p>$question['content']</p>";
echo "</li>";
}
echo "</ul>";
?>
Но это не работает, потому что выдает мне следующую ошибку:
Warning: Invalid argument supplied for foreach()
Это результат, который я хочу:
Примечание: я использую ассоциативный массив вместо объекта по коллективному соглашению, пожалуйста, не отвечайте, предлагая мне преобразовать JSON в объект вместо массива.