1
$body = file_get_contents($url);   //defined somewhere else

$json = json_decode($body);
if(isset($json->SearchResponse->Errors)) 
    throw new Exception ("search Error");

$json->SearchResponse->Errorsを指しますか?つまり、これは本文(または)検索応答の内容を調べ、エラーはオブジェクトです..?

4

2 に答える 2

2

によって送信された応答$bodyで、それぞれのエントリSearchResponseとその下を検索しますErrors

オブジェクトが見つかった場合 (おそらく、リクエストの処理中にエラーが発生したことを示しています)、このエラーを PHP 例外に変換します。これtry catchは、コード内の別の場所を使用してキャッチできます。

この動作をトリガーする可能性のある JSON 応答は、次のようになります。

{ 
  "SearchResponse": {
    "Error": "Something went wrong here!"
  }
}
于 2012-07-10T10:05:50.487 に答える
2

JSON にシリアル化されたオブジェクトには、 というSearchResponse名前のプロパティを持つ という名前のオブジェクトがありましErrorsた。の 2 番目のパラメーターjson_decode()が false (デフォルト) の場合、オブジェクトへの{}シリアル化が解除されstdClassます (true の場合、連想配列が作成されます)。

したがって、JSON は次のようになります。

{
    "SearchResponse" : {
        "Errors" : 1
    }
}
于 2012-07-10T10:06:20.567 に答える