{
"firstName":"sunny",
"religion": {"holly":"1",
"bolly":"colly",
"nolly":"only"
},
"lonely":"money",
"ronney":"leone",
"honey":"bunny"
}
这是我的JSON。我想从中获取所有数据,并将其存储到一些php变量或数组中。
我使用以下代码从JSON中提取数据。我先解码了它,然后把它存储在一个数组中。。
$val_array = json_decode($jsondata, true);
echo $jsondata;
$AAA = $val_array->firstName;
$BBB = $val_array->religion;
$CCC_id = $val_array->bolly;
$DDD = $val_array->nolly;
$CCC_id = $val_array->lonely;
$DDD = $val_array->ronney;
但它没有给我任何输出。然后我用了这个。
foreach($data['val_array'] as $item)
{
echo $item[0];
}
}
无输出。帮助
第二个参数错误:
$val_array = json_decode($jsondata, true);
$AAA = $val_array['firstName'];
或
$val_array = json_decode($jsondata, false);
$AAA=$val_array->firstName;
您的JSON无效。删除最后元素后的逗号:
{
"firstName" : "sunny",
"religion" : {
"holly" : "1",
"bolly" : "colly",
"nolly" : "only" # Here
},
"lonely" : "money",
"ronney" : "leone",
"honey" : "bunny" # And here
}
您的JSON:中有一个错误
"nolly":"only",
"honey":"bunny",
删除这两行末尾的",",然后json_decode((将返回一个数组。如果您想要一个对象,请不要将第二个参数传递给json_decode((
json_decode返回一个对象,但由于您将第二个参数设置为true,因此会为您提供一个包含信息的关联数组。
这基本上可以归结为这样一个事实:要么不需要填写第二个参数并获得所需的对象,要么在将参数设置为true时使用数组。
在PHP.net上读一读会有助于你进一步参考,因为他们的文档介绍得很好,通常由其他人提出有用的建议,而且非常干净!
$val_array = json_decode($jsondata, true);
$m1=$val_array['firstName'];
$m2=$val_array['lonely'];
$m3=$val_array['ronney'];
$m4=$val_array['honey'];
$m4=$val_array['religion']['holly'];
$m5=$val_array['religion']['bolly'];
$m6=$val_array['religion']['nolly'];
通过使用它,我们不必使用foreach循环或内部循环来访问数据。维奥拉!