我想获取“记录”的值
什么时候尝试以下代码:
$json = file_get_contents('URL');
var_dump($json);
结果如下:
string(25289) "{ "ProductsSummary": { "Records": 10, "TotalRecords": 2874, "TotalPages": 288, "CurrentPage": 1 }, "Products": [ { "...
当我尝试此代码
$json = file_get_contents('URL');
$obj = json_decode($json);
echo $obj;
echo $obj->{'ProductsSummary'}->{'Records'};
echo $obj->ProductsSummary->Records;
echo $obj[0]->ProductsSummary->Records;
echo $obj->ProductsSummary[0]->Records;
echo $obj->ProductsSummary[1];
输出为:
{ "ProductsSummary": { "Records": 10, "TotalRecords": 2879, "TotalPages": 288, "CurrentPage": 1 }, "Products": [ { "Last.... }
Notice: Trying to get property of non-object in ...
Notice: Trying to get property of non-object in ...
Notice: Trying to get property of non-object in ...
由于您没有有效的JSON,因此我很确定那json_decode()
只是失败了。按照手册:
以适当的PHP类型返回json编码的值。值true,false和null分别返回为TRUE,FALSE和NULL。
NULL
如果无法解码json或编码数据深于递归限制,则返回。
您可以使用is_null()函数进行验证:
$obj = json_decode($json);
if( is_null($obj) ){
// Invalid JSON, don't need to keep on working on it
}else{
// Read data
}
...尽管正确的方法是使用json_last_error()显式检查错误,JSON_ERROR_NONE
除非出错,该错误应该相等。
如果一切正常,$obj
将成为一个对象,因此进行馈入echo
将永远不会产生任何有用的结果:
echo $obj;
您可能要使用var_dump()。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句