我有以下json字符串:
"{"name":"select","id":"select","class":"form-control select","type":"select","data-input-type":"select","options":"\"Primo:primo\\r\\nSecondo:secondo\""}"
如果我json_decode它的结果如下:
object(stdClass)#30 (6) {
["name"]=>
string(6) "select"
["id"]=>
string(6) "select"
["class"]=>
string(19) "form-control select"
["type"]=>
string(6) "select"
["data-input-type"]=>
string(6) "select"
["options"]=>
string(32) ""Primo:primo\r\nSecondo:secondo""
}
对我来说似乎是对的。
我正在尝试获取名为“ options ”的字符串并回显它。但是当我var_dump(json_decode($post_field->meta_value->options))
出现错误时会出现:
遇到PHP错误
严重性:注意
消息:尝试获取非对象的属性
它出了什么问题?
答案 0 :(得分:0)
$post_field->meta_value
是json字符串。 $post_field->meta_value->options
不是。 json_decode()
function只能转换json字符串,但您尝试访问它的子字符串。您必须首先使对象或数组能够接近某些属性或密钥。
$meta_value = json_decode($post_field->meta_value);
$options = $metavalue->options;
var_dump($options);