2016-08-10 14 views
0

私は平均的なPHPプログラマーで、最近着信JSON(POST経由)データを受け入れるAPIを構築しました。 (システムログからの)部分は完全に正常に動作していると$GLOBALS[json]の値であることをPHPのグローバルオブジェクトからJSON(POST経由で送信)を解析する

$GLOBALS[json] = file_get_contents("php://input"); 
$GLOBALS[json] = json_decode($GLOBALS[json]); 

:私はグローバルオブジェクトに入ってくるJSONを解析するために、このコードを使用してい

{ 
    "name": "John Doe", 
    "state": "DE", 
    "zip": "12345" 
} 

このグローバルオブジェクトは、アレイの個々の部分を読むために(含まれる外部PHPファイル内の)関数によって使用されている:

$name = $GLOBALS[json]->name; 
$state = $GLOBALS[json]->state; 
$zip = $GLOBALS[json]->zip; 

私が抱えている問題は番目のいずれでもありません上記の変数にはデータがあります。私は運がないとオンラインで見つけることができるすべての例を試しました。

FYI - json_decode関数の最後にtrueオプションを使用してみましたが、オブジェクトとしてではなく配列として読み込みましたが、まだ運がありませんでした。

私はグローバルオブジェクト/配列から始まっているので問題になっていますか、単にキーペア/オブジェクト値を間違って呼び戻そうとしていますか?

答えて

0

まず、 デコードあなたは

$name = $GLOBALS['json']['name']; 
$state = $GLOBALS['json']['state']; 
$zip = $GLOBALS['json']['zip']; 

の下に、私は、コードの上に走っているように、あなたは自分のデータにアクセスすることができますので、それはあなたの代わりに、オブジェクト

$GLOBALS['json'] = json_decode($GLOBALS['json'],true); 

の配列を与えるtrueを使用してJSON私のローカルマシンでは、出力は一度下になりましたprint_r

John Doe 
DE 
12345 
関連する問題