我有一个来自外部域的json,我需要创建一个帖子列表,我必须在元素中写出从json中获取的数据
{
"dati": [
{
"id": 98762,
"tipo": "eventi",
"titolo": “TITOLO 1“,
"sottotitolo": "",
"img": "http://www.asdsad.it",
"url": "http://www.asdsad.it",
"data_da": "2016-01-05",
"data_a": "2016-01-05",
"stato": "IT",
"regione": "IT.10",
"provincia": "IT.10.FM",
"citta": "Porto Sant\'Elpidio",
"indirizzo": "Via Faleria, 15"
},
{
"id": 97004,
"tipo": "corsi",
"titolo": “TITOLO 2”,
"sottotitolo": "",
"img": “http://www.asdsad.it”,
"url": "http://www.asdsad.it",
"data_da": "2016-01-05",
"data_a": "2016-01-05",
"stato": "IT",
"regione": "IT.08",
"provincia": "IT.08.SV",
"citta": "Savona",
"indirizzo": ""
}
]
}
结果就像那样:
<div id="98762">
<h1>TITOLO 1</h1>
<img src="http://www.asdsad.it" />
<h3>eventi<h3/>
......
</div>
<div id="97004">
<h1>TITOLO 2</h1>
<h3>corsi<h3/>
<img src="http://www.asdsad.it" />
......
</div>
我试过这个,但我得到一个空白页..
<?php
$data = file_get_contents("url_json");
$dataArray = json_decode($data, true);
foreach ($dataArray as $row){
foreach ($row as $key => $value){
switch ($key) {
case 'id':
echo "<div> $value </div>";
break;
case 'sottotitolo':
echo "<h3> $value </h3>";
break;
case 'img':
echo "<img src=$value >";
break;
// ...
}
}
}
?>
答案 0 :(得分:0)
我知道你在json文件中有错误。请先尝试修复那个。之后如果你得到了#34; $dataArray
&#34;你可以使用这个
$data = file_get_contents("url_json");
$dataArray = json_decode($data, true);
$append_str = '';
foreach ($dataArray['dati'] as $row) {
$append_str .= '<div id="' . $row['id'] . '">'
. '<h1>' . $row['sottotitolo'] . '</h1>'
. '<img src="' . $row['img'] . '" />'
. '</div> ';
}
echo $append_str;
答案 1 :(得分:0)
您需要删除“和”,而不是jsqon_decode()
中的结果;
您可以尝试此操作(示例仅适用于特定问题):
$data = file_get_contents("url_json");
$data = str_replace('“', '"', $data); // replace “ with "
$data = str_replace('”', '"', $data); // replace ” with "
$dataArray = json_decode($data, true);