我正在从 JSON 中提取值,但是当我回显该值时始终得到一个空结果
$json='[[{"transTime":"2013-10-23 17:30:42","Forename":"Ian","Surname":"Graham","Address Line 1":"RG412GX"}]]';
$obj2 = json_decode($json, true);
$displayName = $obj2->Surname;
echo"$displayName";
在这个 json 字符串中有一个对象在另一个对象中
$json='[[{"transTime":"2013-10-23 17:30:42","Forename":"Ian","Surname":"Graham","Address Line 1":"RG412GX"}]]';
$obj2 = json_decode($json);
print_r($obj2);
您提供的代码有几个问题。首先,您的 json 文本存储在 中$json
,但您尝试解码$xmlresponse
. 不过,我想这只是一个复制/粘贴错误。其次,您尝试使用对象语法访问姓氏,尽管您明确强制json_decode
将对象解码为关联数组。第三,提供的json对数组中的对象进行编码。您忽略了响应的嵌套结构。
尝试这个:
$json='[[{"transTime":"2013-10-23 17:30:42","Forename":"Ian","Surname":"Graham","Address Line 1":"RG412GX"}]]';
$response = json_decode($json);
$displayName = $response[0][0]->Surname;
echo $displayName;
这应该是这样的:
$json='[[{"transTime":"2013-10-23 17:30:42","Forename":"Ian","Surname":"Graham","Address Line 1":"RG412GX"}]]';
$obj2 = json_decode($json, true);
$displayName = $obj2->Surname;
echo"$displayName";
您正在混淆/编造变量名...
尝试这个:
<?php
$json='[[{"transTime":"2013-10-23 17:30:42","Forename":"Ian","Surname":"Graham","Address Line 1":"RG412GX"}]]';
$obj2 = json_decode($json, true);
$displayName = $obj2[0][0]['Surname'];
echo "$displayName";
?>