我正在尝试从PHP变量中的以下JSON数组中获取值。
这是数组的var_dump:
array(3) {
["id"]=>
string(2) "14"
["css"]=>
string(400) ""
["json"]=>
string(4086) "
{
"Canvas": [
{
"MainObjects": {
"After Participation": {
"afterParticipationHeader": "Thank you!"
},
"Invite Friends": {
"InviteHeadline": "",
"InviteMsg": "",
"InviteImg": ""
}
},
"QuizModule": {
"Questions": [],
"Submit_Fields": [
{
"label": "Name",
"name": "txtName",
"value": true
}
]
}
}
]
}"
}
我可以在PHP中获取[“json”]的值,如:
$json = $data[0]['json'];
但是如何从“json”中的数组中获取值,例如“AfterParticipationHeader”。和“Submit_Fields”?
答案 0 :(得分:11)
首先你必须解码你的json数据
$json = json_decode($data[0]['json']);
然后您就可以访问AfterParticipationHeader
$json->Canvas[0]->MainObjects->{"After Participation"}->afterParticipationHeader
答案 1 :(得分:4)
您可以使用json_decode()将有效的JSON字符串转换为PHP变量。请注意第二个参数来获取关联array
而不是不太有用的stdClass
。
$jsonData = json_decode($data[0]['json'], true);
$header = $jsonData['Canvas']['MainObjects']['After Participation']['afterParticipationHeader'];
答案 2 :(得分:2)
答案 3 :(得分:1)
看起来你需要解码它。尝试使用:$json = json_decode($data[0]['json']);
如果有帮助,请告诉我。