[英]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_dump
的echo
。
var_dump
将显示类的属性。
您正在解码JSON数据并将其回显。 不要忘记回声仅适用于字符串,JSON解码返回另一个对象。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.