"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->;
}
}
答案 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)
由于deals
和options
的值是数组,因此您需要说:
foreach($mydata->options[0]->value as $option)
顺便说一下,你的json格式很差。数组后面不应该有逗号,就像options
数组那样。仅这一点就会给你带来麻烦。
此处并不真正需要foreach
,因为deals
数组中只有一个值,而options
数组中只有一个值。