如何使用php从json下面提取值

时间:2014-03-20 12:41:36

标签: php json

以下是我在$ json变量中收到的json的开头。

{"page":"0","cartaddonpopover":{"refreshfeature":1,"featurehtml":""},"initiateid":null,"containsmapitem":0,"wishlist":{"refreshfeature":1,"featurehtml":"\n<div id=\"cart-wishlist\" style=\"display:none;\" class=\"cart-wish-list\"  >\n</div>\n\n"},"gutter":{"refreshfeature":1,"featurehtml":"\n\n\n\n\n\n\n    \n    \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n<div id=\"cart-gutter\" class=cart-gutter quantity=\"151\">\n\n  

我想提取quantity的值,在上述情况下为151

我目前正在使用$quantity = $json->featurehtml->{"cart-gutter"}->quantity;而且我知道我错了。请指导。

3 个答案:

答案 0 :(得分:3)

试试这个:

$html = str_get_html(json_decode($json)->featurehtml);
$quantity = $html->find("#cart-gutter")->quantity;

答案 1 :(得分:1)

您始终可以使用正则表达式执行此操作。

preg_match('/quantity=\\\"(\d+)\\\"/', $json, $matches);
$quantity = $matches[1];

答案 2 :(得分:-1)

你试过这个吗?

$array = json_decode($json, true);
echo $array['quantity'];