我有一个API调用,返回的JSON看起来像这样:
{"subtotal":{"amount":"0.50","currency":"USD"}}
我不确定如何访问'amount'变量。我试过了
$jsonObject = json_decode(returnJSON);
$amount = $jsonObject->{'subtotal'}->{'amount'}
但这不起作用。如何访问这些数据?
答案 0 :(得分:3)
您可以将其作为关联数组访问:
$jsonObject = json_decode($returnJSON, true);
$amount = $jsonObject['subtotal']['amount'];
答案 1 :(得分:1)
试试这个
$returnJSON = '{"subtotal":{"amount":"0.50","currency":"USD"}}';
$jsonObject = json_decode($returnJSON, true);
$amount = $jsonObject['subtotal']['amount'];
或
$returnJSON = '{"subtotal":{"amount":"0.50","currency":"USD"}}';
$jsonObject = json_decode($returnJSON);
$amount = $jsonObject->subtotal->amount;
答案 2 :(得分:1)
与所有这些其他注释相反,您也可以将它用作常规对象(json_decode
的默认值):
$jsonObject = json_decode($returnJSON);
$amount = (float)$jsonObject->subtotal->amount;
var_dump($amount); //float(0.50)
答案 3 :(得分:0)
什么不起作用?什么是错误消息?你得到了吗
尝试在第3行的MyPath \ myPHPFile中获取非对象的属性
错误消息?
在这种情况下,这是因为你的JSON存在缺陷,缺少一个结束括号。修好之后,我可以按照你想要的方式访问它。
另外,不要忘记在PHP中用分号关闭每一行。
答案 4 :(得分:0)