繁体   English   中英

PHP:发布解码JSON数组

[英]PHP: Issue decoding JSON array

我正在尝试解码JSON数组,但是出现以下错误:

无法将类stdClass的对象转换为字符串

JSON编码数组如下所示:

echo json_decode('{
     "type": "FeatureCollection",
     "features": [
      {
       "type": "Feature",
       "geometry": {
        "type": "Point",
        "coordinates": [
         149.23531999999997,
         -35.352484
        ]
       },
       "properties": {
        "Fcilty_typ": "MO",
        "gx_id": "1"
       }
      }
     ]
    }'
);

我从中删除了一些字段,以使其在查询中更加紧凑。 任何人都可以提出这里的问题吗?

谢谢

您不能回显您解码的JSON(这是一个对象),但是可以尝试var_dump

var_dump(json_decode('{
     "type": "FeatureCollection",
     "features": [
      {
       "type": "Feature",
       "geometry": {
        "type": "Point",
        "coordinates": [
         149.23531999999997,
         -35.352484
        ]
       },
       "properties": {
        "Fcilty_typ": "MO",
        "gx_id": "1"
       }
      }
     ]
    }'
));

在JSON中,

{字符表示对象的开始。

[字符表示数组的开始。

因此,当您执行json_decode()它将获取一个字符串,并根据json结构所表示的内容使用字符串。 因此,在您的情况下,它将创建带有属性等的stdClass类型的PHP对象。

您不能echo对象,但是可以在数组和对象上使用这些函数

print_r() a nice simple display of the data

var_dump() a more complex to read display of the data in my opinion
           but it does show data types and sizes

var_export() similiar to print_r()

您也可以向json_decode($string, true)添加第二个参数,它将把在数据结构的json字符串表示中找到的对象转换为Arrays,尽管我从未见过这样做的需要。

您正在尝试echo一个类,并且echo只是打印字符串。

尝试更改var_dumpecho

var_dump将显示类的属性。

您正在解码JSON数据并将其回显。 不要忘记回声仅适用于字符串,JSON解码返回另一个对象。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM