$ json-> SearchResponse->错误在此代码中意味着什么?

时间:2012-07-10 10:01:59

标签: php json

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

2 个答案:

答案 0 :(得分:2)

它会搜索$body针对相应条目SearchResponseErrors下方提交的回复。

如果找到任何对象(可能表示处理请求时发生了错误),它会将此错误转换为PHP异常,这可能是通过在代码中的其他位置使用try catch来捕获的。 / p>

可能触发此行为的JSON响应可能如下所示

{ 
  "SearchResponse": {
    "Error": "Something went wrong here!"
  }
}

答案 1 :(得分:2)

在序列化为JSON的对象中,有一个名为SearchResponse的对象,它有一个名为Errors的属性。如果json_decode()的第二个参数为false(默认值),则{}将被反序列化为stdClass个对象(true将生成关联数组)。

所以JSON可能是这样的:

{
    "SearchResponse" : {
        "Errors" : 1
    }
}