{
"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];
}
}
没有输出。帮助??
答案 0 :(得分:4)
你得到第二个错误:
$val_array = json_decode($jsondata, true);
$AAA = $val_array['firstName'];
OR
$val_array = json_decode($jsondata, false);
$AAA=$val_array->firstName;
答案 1 :(得分:0)
您的JSON无效。删除最后一个元素后的逗号:
{
"firstName" : "sunny",
"religion" : {
"holly" : "1",
"bolly" : "colly",
"nolly" : "only" # Here
},
"lonely" : "money",
"ronney" : "leone",
"honey" : "bunny" # And here
}
答案 2 :(得分:0)
您的JSON中有错误:
"nolly":"only",
"honey":"bunny",
删除这2行末尾的',',然后json_decode()将返回一个数组。 如果你想要一个对象,不要将第二个参数传递给json_decode()
答案 3 :(得分:0)
json_decode默认返回一个对象,因为你将第二个参数设置为true,你会得到一个带有信息的关联数组。
它基本上归结为这样一个事实,即您不需要填写第二个参数并获取所需的对象,或者在将参数设置为true时使用数组。
PHP.net上的一点阅读将为您提供进一步的参考,因为他们的文档很好地呈现,通常由其他人提供有用的建议和相当干净的评论!
答案 4 :(得分:0)
$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循环或内部循环来访问数据。中提琴!