我创建了一个在JSON中生成以下内容的程序:
{
"OrderSummary":
"[{\"ProductQuantity\":\"1\",\"ProductName\":\"Wine\",\"Sellerid\":\"2\",\"ProductCost\":\"500\"}]"
}
如何编写PHP脚本来解析此JSON?
答案 0 :(得分:3)
我可以看到你的 json ,你必须将它转换两次
看看
第一次
$tab = json_decode('{"OrderSummary":"[{\"ProductQuantity\":\"1\",\"ProductName\":\"Wine\",\"Sellerid\":\"2\",\"ProductCost\":\"500\"}]"}', true);
,结果将是
['OrderSummary': '[{"ProductQuantity":"1","ProductName":"Wine","Sellerid":"2","ProductCost":"500"}]']
然后你必须再次转换它,但只有OrderSummary
喜欢
$tab['OrderSummary'] = json_decode($tab['OrderSummary'], true);
然后您可以访问OrderSummary
如此完整的代码
$tab = json_decode('{"OrderSummary":"[{\"ProductQuantity\":\"1\",\"ProductName\":\"Wine\",\"Sellerid\":\"2\",\"ProductCost\":\"500\"}]"}', true);
$tab['OrderSummary'] = json_decode($tab['OrderSummary'], true);
echo $tab['OrderSummary']['ProductQuantity']; // 1
答案 1 :(得分:1)
简单地遍历像这样混合的Object数组我希望你能理解发生了什么,请注意:
$fullobj = json_decode('{"OrderSummary":"[{\"ProductQuantity\":\"1\",\"ProductName\":\"Wine\",\"Sellerid\":\"2\",\"ProductCost\":\"500\"}]"}');
var_dump($fullobj); //take the full data mixed object array
$obj = json_decode($fullobj->{'OrderSummary'});
var_dump($obj); //take the object array on a child
$ProductQuantity = $obj[0]->{'ProductQuantity'};
var_dump($ProductQuantity);
$ProductName = $obj[0]->{'ProductName'};
var_dump($ProductName);
$Sellerid = $obj[0]->{'Sellerid'};
var_dump($Sellerid);
$ProductCost = $obj[0]->{'ProductCost'};
var_dump($ProductCost);