php json解析 出现问题 Notice: Trying to get property of non-object in。。。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php json解析 出现问题 Notice: Trying to get property of non-object in。。。相关的知识,希望对你有一定的参考价值。

代码如下
<?php
$s='"weatherinfo":"city":"北京","city_en":"beijing","date_y":"2014年3月4日","week":"星期二"';
$sb=json_decode($s,true);
echo $sb->weatherinfo->city;
?>
感觉没错啊,可是总是不出结果,提示Notice: Trying to get property of non-object in
D:\wamp\www\weixinbuild\test.php on line 5错误
而且输出换成echo $sb['weatherinfo'][’city‘]之后不提示错误,但是没输出结果。。。

php json解析 出现问题 Notice: Trying to get property of non-object in是设置错误造成的,解决方法为:

1、以快递100接口为例,返回的JSON数据。

2、建立函数。

3、PHP代码 转换成数组。

4、ecshop输出方式:php文件。

参考技术A 访问类成员是可以用->,数组的话没有这种用法。
echo $sb->weatherinfo->city;
JS中可以通过->访问JSON对象。
------------------------------------
我用echo $sb['weatherinfo']['city'];可以正常输出结果,检查你的用法是否有问题。追问

我那个就是复制过去的,应该没问题的,那个就是全部的代码了,换成echo $sb['weatherinfo']['city'];就是不提示错误也不显示任何东西

参考技术B echo $sb["weatherinfo"]["city_en"];
php里的$sb不是对象是数组吧。追问

数组的话用echo $sb["weatherinfo"]["city_en"];应该没问题啊,但也只是不提示错误,但也不输出结果。。

追答

你的php版本会不会太低了?还受设置是否关闭了一些显示?建议输出$s和$sb( print_r($sb); )

追问

我知道原因了,是因为里面是中文,在我的电脑上好像中文的进行解析就会出现问题,换成英文就好了,你知道怎么设置能让中文也可以么。。。

本回答被提问者采纳

以上是关于php json解析 出现问题 Notice: Trying to get property of non-object in。。。的主要内容,如果未能解决你的问题,请参考以下文章

php,二维数组的输出出现了问题,提示:Notice: Array to string conversion

Notice: Undefined offset 的解决方法

Java使用 gson 解析出现的错误

php书写不规范Notice: Use of undefined constant memory_limit

php Warning: A non-numeric value encountered 或者 Notice: A non well formed numeric value encountere

PHP传递通过AJAX传递JSON对象数组到前台,前台解析,遍历JSON