2017-11-24 15 views
0

にアクセスして、私は次のようなJSONている: - : $はjson.parse多次元配列のphp

{ 
    "firstName": "Jhon", 
    "lastName": "Doe", 
    "username": "jhon", 
    "avatar": "localhost/uploads/avatars/default.jpg", 
    "language": "ar", 
    "birth_date": "2017-11-22 00:00:00", 
    "weight_chart": [], 
    "health_status": { 
     "id": 130, 
     "user_id": 258, 
     "weight": 95, 
     "height": 171, 
    }, 

は、私は私が使用してファーストネームを印刷することができる午前さて上記のJSON

$user = json_decode($response); 

をデコードUSER-> firstNameの

私の質問は以下のとおりです。 -

  • デコードせずにjson値にアクセスできますか?
  • 「health_status」値にid、weight ...の値をどのようにしてアクセスできますか?

答えて

2

あなたのJSONが不正である、このような構造をしてみてください:

$str = '{ 
    "firstName": "Jhon", 
    "lastName": "Doe", 
    "username": "jhon", 
    "avatar": "localhost/uploads/avatars/default.jpg", 
    "language": "ar", 
    "birth_date": "2017-11-22 00:00:00", 
    "weight_chart": [], 
    "health_status": { 
     "id": 130, 
     "user_id": 258, 
     "weight": 95, 
     "height": 171 
    } 
}'; 

$obj = json_decode($str); 
echo $obj->firstName.' - '; 
echo $obj->health_status->id.' - '; 
echo $obj->health_status->weight; 

は応答:Jhon - 130 - 95

+0

私は取得していますJSONは私がの構造を制御することができない、いくつかのAPIウェブサービスではないJSONファイルからですjson。 – user2873860

+0

json [jsonlint](https://jsonlint.com/)を確認してください。無効です – miglio

+0

完全なjsonを表示できますか? – miglio