{
"details": [
{
"title": "BlahBlahBlah #1",
"session_num": "369",
"author": "Lilyquist J",
"tradeshow": "AACR General Meeting 2017",
"show_details": [
{
"date": "April 1-5, 2017",
"location": "Washington DC"
}
]
},
{
"title": "YaddaYaddaYadda #2",
"session_num": "369",
"author": "Lilyquist J",
"tradeshow": "Epcon 97",
"show_details": [
{
"date": "April 1-5, 1997",
"location": "Anywhere, CA"
}
]
},
{
"title": "BlahBlahBlah #3",
"session_num": "369",
"author": "LaDuca H",
"tradeshow": "(ACMG) 2017",
"show_details": [
{
"date": "April 1-5, 2017",
"location": "Washington DC"
}
]
}
]
}
/**
* @Route("/route", name="ag_web_route")
* @Template()
*
* @return array
*/
public function scientificPosters2Action()
{
$posterList = file_get_contents($this->get('kernel')->getRootDir() . '/../web/assets/api/scientific-posters.json');
$json = json_decode($posterList, true);
foreach ($json['details'] as $key => $value) {
echo $value['title'];
}
return array(
'json' => $json,
'posterList' => $posterList,
);
}
{% for title in posterList %}
<h1> {{ title }} </h1>
{% endfor %}
BlahBlahBlah#1YaddaYaddaYadda#2BlahBlahBlah#3
我还没能正确地进行环回,一次只能输出一个标题。它只是将所有标题一起输出到一个<h1>
标签中。我在这里错过了什么?我知道$key
=&gt; $value
我遗失了一些东西,(就像另一个forloop?)但我还没有能够正确地解析这个......
在这里使用Symfony3。
答案 0 :(得分:4)
如果您只需要标题,就可以这样:
<h1> {{ json['details']['title'] }} </h1>
如果您在我的JSON Twig article上阅读了相关内容,那可能会帮助您实现所需目标。
编辑#2
根据评论,如果for循环出现问题,您可以尝试:
{% for item in json['details'] %}
<h1> {{ item['title'] }} </h1>
{% endfor %}
这是一个twigfiddle,显示它可以根据您的需要正确运行并指定:
确保使用php函数json_decode
将JSON从Controller传递到twig模板,以使其正常工作。它应该是直截了当的。