次のような JSON を返す API 呼び出しがあります。
{"subtotal":{"amount":"0.50","currency":"USD"}}
「金額」変数にアクセスする方法がわかりません。私は試した
$jsonObject = json_decode(returnJSON);
$amount = $jsonObject->{'subtotal'}->{'amount'}
しかし、それはうまくいきません。このデータはどのようにアクセスされますか?
連想配列としてアクセスできます。
$jsonObject = json_decode($returnJSON, true);
$amount = $jsonObject['subtotal']['amount'];
これを試して
$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;
これらの他のすべてのコメントとは対照的に、通常のオブジェクトとして使用することもできます (これがjson_decode
デフォルトです):
$jsonObject = json_decode($returnJSON);
$amount = (float)$jsonObject->subtotal->amount;
var_dump($amount); //float(0.50)
何が機能しないのですか?エラーメッセージは何ですか? あなたは得ますか
3 行目の MyPath\myPHPFile で非オブジェクトのプロパティを取得しようとしています
エラーメッセージ?
その場合、JSON に欠陥があるため、閉じ括弧がありません。私の側で動作することを修正した後、必要な方法でアクセスできます。
また、PHP では各行をセミコロンで閉じることを忘れないでください。