2017-09-07 6 views
1

私はJSON要素

JSONは

{ 
    "html_attributions" : [], 
    "results" : [ 
     { 
     "formatted_address" : "Narayan Peth, Pune, Maharashtra 411030, India", 
     "geometry" : { 
      "location" : { 
       "lat" : 18.515797, 
       "lng" : 73.852335 
      } 
     }, 
     "icon" : "https://maps.gstatic.com/mapfiles/place_api/icons/shopping-71.png", 
     "id" : "3a25975b3806df28aa79ac4a8d954c307be4aa57", 
     "name" : "Aditya Medical", 
     "place_id" : "ChIJJxwmOHDAwjsRjRDO4LnGJ-I", 
     "reference" : "CmRSAAAA3E7ih55-2BZjRQcw_URQ2gwi8eWb5HU6hdfNUj_TqtDJ7TtASVMowcuWMkohNjp7F6UKuGsMuR-IlzZEt4YUJyzNxzWg-TYy6hyN8P5n2asAO6ztZeU3oHZdH7OBFFW_EhBe4cQbAU99oILcDmvv_gOhGhR7jzP0Z9-mDrncd5Gr9hOY7aOqRg", 
     "types" : [ "pharmacy", "health", "store", "point_of_interest", "establishment" ] 
     } 
    ], 
    "status" : "OK" 
} 

私は疲れて使用して印刷することJSONから「formatted_address」要素を印刷したい1つのJSONを持っていますが、にアクセスするためにどのようにそれを印刷することができませんでし。 object又はarray -

foreach (json_decode($address[0]->Response) as $obj){ 
    print_r($obj['results']['formatted_address']); 
} 
+1

$ obj'最初 – Regolith

+2

彼らはオブジェクトではなく配列している '印刷してみてください。 'json_decode'の2番目のパラメータとして' true'を渡して配列を取得するか、オブジェクトをオブジェクトとして使用してください。 –

答えて

2

jsonを配列として取得するには、2番目のparamをtrueに設定する必要があります。私は@Plamenニコロフようにしてみ

$jsonAsArray = json_decode($yourJson, true); 
$results = $array["results"][0]; 

var_dump($results['formatted_address']); 

幸運

0

foreach (json_decode($address[0]->Response, true) as $obj){ 
    print_r($obj['results']['formatted_address']); 
} 

json_decodeを試しは返された結果フォーマットを決定するための第2のパラメータを有します。

+0

通知を得る:非オブジェクトのプロパティを取得しようとしている –

2

を指標に合格する必要がagin InArrayバリでしかし、それは動作しません。そして、私はそれを仕事に変えようとします。

foreach (json_decode($address[0]->Response, 1) as $obj){ 
    print_r($obj['results']['formatted_address']); 
} 
0

:また、あなたのformatted_addressはそれで解決することができ

foreach (json_decode($address[0]->Response, true) as $obj){ 
    print_r($obj['results'][0]['formatted_address']); 
} 

DEMO

0

foreach (json_decode($address[0]->Response)->results as $obj){ 
    print_r($obj->formatted_address); 
} 

json_decodeを試してみては($ [0]取り組む - > Response)をあなたにオブジェクトを提供します。配列のように使うべきではありません。したがって、配列形式の代わりに " - >"を使用する必要があります。より良いあなたはforeachの上で結果を置くことができますし、

ことの$ OBJからformatted_addressのデータを取得する -