如何使用php解析json数据我想解析formattedAmount和currencyCode

时间:2014-06-12 18:25:55

标签: php json foreach

    "deals": [
     {   
        "soldQuantity": 1000,
        "shippingAddressRequired": false,
    "options": [
        {
        "value": {
                    "formattedAmount": "$43.78",
                    "currencyCode": "USD",
                    "amount": 4378
                },
        },
    ],
},
]

我想使用php foreach循环解析formattedAmount和currencyCode

我的代码出错: - Trying to get property of non-object

代码是

   $json = file_get_contents('../jsonfile/product.json');
   $json_string = json_decode($json);
   foreach($json_string->deals as $mydata)
   {
      foreach($mydata->options->value as $option)
  {                              
   echo $option->;
  }
   }

2 个答案:

答案 0 :(得分:2)

不要foreach($mydata->options->value as $option),因为值不是数组。 做:

foreach($mydata->options as $option) {
    echo $option->value->formattedAmount;
    echo $option->value->currencyCode;
    echo $option->value->amount;
}

答案 1 :(得分:0)

由于dealsoptions的值是数组,因此您需要说:

foreach($mydata->options[0]->value as $option)

顺便说一下,你的json格式很差。数组后面不应该有逗号,就像options数组那样。仅这一点就会给你带来麻烦。

此处并不真正需要foreach,因为deals数组中只有一个值,而options数组中只有一个值。