好的,我希望这与其他问题不一样,我已经寻找类似的但却找不到答案......所以这里有。 我得到一个JSON文件,需要将内容读入数据库。没有汗水。 但是我遇到了读取最低级别的问题,因为可能存在重复的数组。 我将所有数据都归结为“comp”。
示例JSON文件:
{
"code" : 0,
"format" : 2,
"s_data" :
{
"name" : "Lance",
"club" : "Southern"
},
"d_data" :
{
"errorcode" : 3,
"errormsg" : ""
},
"timing" :
{
"elapsed_time" : "08:29",
"elapsed_time_secs" : 509,
"comp" :
[
{
"no" :
[
{
"sno" : 0,
"xpos" : 230.9,
"ypos" : 97.2
},
{
"sno" : 1,
"xpos" : 132.4,
"ypos" : 258.3
},
{
"sno" : 2,
"xpos" : 135.5,
"ypos" : 176.7
},
]
},
{
"no" :
[
{
"sno" : 0,
"xpos" : 250.9,
"ypos" : 92.2
},
{
"sno" : 1,
"xpos" : 182.4,
"ypos" : 158.3
},
{
"sno" : 2,
"xpos" : 145.5,
"ypos" : 192.7
}
]
}
]
}
}
所以我现在想要阅读“不”数据,但只是第一个“不”的例子......那就是:sno,xpos,ypos foreach“sno”条目..
我在想:
$mydata = json_decode(sample.json, true);
foreach($mydata->comp[0]->no as $values)
{
echo $values->sno . "\n";
}
我一无所获。 任何形式的帮助表示赞赏。
答案 0 :(得分:0)
如果在关联数组中对其进行解码,则必须使用它,请尝试以下代码:
foreach($mydata['timing']['comp'][0]['no'] as $values)
{
echo $values['sno'] . "\n";
}
所有对$mydata
的访问都使用数组样式表示法。
您还必须考虑发布的那个不是有效的JSON字符串。
编辑20160122: JSON字符串现在有效。