noob在这里!我怎么能得到数量'使用json和php打印的值仅为0:
{"XXXXXX":[],"XXXXXX":[],"total":[{"assetref":"","qty":0,"raw":0}]}
我试过这个
$m = json_encode('{"XXXXXX":[],"XXXXXX":[],"total":[{"assetref":"","qty":0,"raw":0}]}')
$multi = json_decode($m, true);
echo $multi->{'qty'};
没有工作
答案 0 :(得分:0)
您已经拥有JSON字符串,因此您不能使用json_encode
:
$multi = json_decode('{"XXXXXX":[],"XXXXXX":[],"total":[{"assetref":"","qty":0,"raw":0}]}', true);
echo $multi['total'][0]['qty'];
答案 1 :(得分:0)
json_encode
用于从变量创建JSON字符串。
您已经拥有JSON字符串,因此您可以简单地说$m = json_encode(json_string)
而不是使用$m = json_string
。
在尝试访问total
变量时,您也缺少一个深度级别(不引用qty
)。
(请注意total
是一个包含一个对象的数组,然后包含qty
)
试试:
$m = '{"XXXXXX":[],"XXXXXX":[],"total":[{"assetref":"","qty":0,"raw":0}]}';
$multi = json_decode($m, true);
echo $multi['total'][0]['qty'];
答案 2 :(得分:0)
json_encode将数组编码为字符串,您正在尝试对字符串进行编码。
在字符串上使用json_decode,以便转换为数组。
$m = json_decode('{"XXXXXX":[],"XXXXXX":[],"total":[{"assetref":"","qty":10,"raw":0}]}');
$qty = $m->total[0]->qty;
echo $qty;