我已将JSON文件解码为变量($tmp
)。 var_dump($tmp)
给出:
object(stdClass)#31 (3) {
["c"]=> int(2)
["r"]=> int(2)
["d"]=> object(stdClass)#32 (4) {
["1"]=> string(2) "un"
["2"]=> string(4) "deux"
["3"]=> string(5) "trois"
["4"]=> string(6) "quatre"
}
}
我想检索例如“un”,所以我做$tmp->d["1"]
但它不起作用。我有以下错误:
Fatal error: Cannot use object of type stdClass as array in File.php on line 17
答案 0 :(得分:2)
json_decode采用额外的参数,将您的json字符串转换为数组而不是对象
json_decode($json_str, true)
正如评论所指出的,你的json对象的d
属性是一个对象而不是一个数组,所以你不能用数组表示法访问它(你看到有错误)
我相信
$tmp->d->{'1'}
// "un"
应该可以访问它
答案 1 :(得分:0)
php有一个默认函数json_encode和json_decode
$arrayOfValues = array();
$jsonString = json_encode($arrayOfValues);
和
$arrayOfValues = json_decode($jsonString);
使用此函数,您可以将变量与json一起使用。