2016-07-08 5 views
-1

サービスリクエストから、私は以下の応答を得て、それを解析するのにjson_decodeを試しましたが、動作しません。 ["body"]->enquiry->statusが「OPEN」であるかどうかを確認する必要があります。誰も私にこの反応を解析する方法を教えてもらえますか?PHPでJSON配列を解析できない

array(5) { 
    ["headers"] => array(5) { 
     ["server"] => string(17) 
     "Apache-Coyote/1.1" ["content-type"] => string(16) 
     "application/json" ["content-length"] => string(3) 
     "313" ["date"] => string(29) 
     "Fri, 08 Jul 2016 00:22:29 GMT" ["connection"] => string(5) 
     "close" 
    } 
    ["body"] => string(313){ 
     "version ":{ 
      "major ":1, 
      "minor ":6, 
      "revision ":0 
     }, 
     "enquiry ":{ 
      "id ":"21a2a688-c09b-48bc-8cb0-0ad596c18447", 
      "creationTime ":1467937344745, 
      "lastUpdateTime ":1467937344753, 
      "status ":"OPEN ", 
      "from ":"test ", 
      "email ":"[email protected] ", 
      "message ":"test ", 
     }, 
     "enquiries":null 
    } 
    ["response"] => array(2) { 
     ["code"] => int(202) 
     ["message"] => string(8) 
     "Accepted" 
    } 
    ["cookies"] => array(0) {} 
    ["filename"] => NULL 
} 
+1

ちょうど適切なインデックスにアクセスし、配列フラグでjson文字列をデコードし、通常の配列のように扱います。 – Ghost

+0

上記のコードは、json_decodeによるレスポンスまたはレスポンスのデコードですか?生の反応を見たい。 –

+0

これはサービスから得られる生の応答です。私は実際にPHPに新しいです、どんな助けも大歓迎です。 – user3736514

答えて

1

アクセス方法は次のとおりです。私があなたに与えた応答として$responseを使用しました。あなたはステータスが「オープン」に等しいかどうかを確認したい場合は

//We decode the 'body' from the response to json and we convert it to an array 
$body = json_decode($response['body'],true); 

//We access the status 
$status = $body['enquiry']['status']; 

また、注意してください。応答では、ステータスは実際のOPENです。末尾のスペースに注意してください。スペースを削除するには、trim($status)を使用します。

+0

ありがとう、私は現在ステータスを取得することができます。 – user3736514

+0

もう一度ありがとうございます。 – user3736514

+0

あなたは大歓迎です:) –