[英]get a value from json decoded array
我有这个json编码的字符串
{"allresponses":"{\"id\":\"123456\",\"recipients\":1}"}
而且我只需要获取ID并将其传递给php变量。
这就是我要尝试的:假设我在变量return中有该字符串,所以:
$return = '{"allresponses":"{\"id\":\"123456\",\"recipients\":1}"}';
$getid = json_decode($return,true);
echo $getid[0]['id'];
这行不通; 我收到致命错误。 你能告诉我为什么吗? 怎么了?
您已经有了json-in-json,这意味着allresponses
的值本身就是一个json字符串,必须分别进行解码:
$return = '{"allresponses":"{\"id\":\"123456\",\"recipients\":1}"}';
$temp = json_decode($return);
$allresp = $temp['allresponses'];
$temp2 = json_decode($allresp);
echo $temp2['id']; // 123456
请注意,您的$getid[0]
是错误的。 您没有数组。 json纯粹是对象( {...}
),因此没有[0]
索引可访问。 即使是像var_dump($getid)
类的一些基本调试也可以向您显示。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.