php程序读取由android应用程序生成的json?

时间:2017-09-20 19:29:25

标签: php android json parsing

我创建了一个在JSON中生成以下内容的程序:

{
    "OrderSummary": 
        "[{\"ProductQuantity\":\"1\",\"ProductName\":\"Wine\",\"Sellerid\":\"2\",\"ProductCost\":\"500\"}]"
}

如何编写PHP脚本来解析此JSON?

2 个答案:

答案 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);