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指的是什么?我的意思是这是否会查看正文(或)searchresponse 的内容并且错误是对象..?

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。如果第二个参数json_decode()为 false(这是默认值),{}将被反序列化为stdClassObjects(true 将生成关联数组)。

所以 JSON 可能是这样的:

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