从json数组php获取特定数据
我试图从一个数组中获取一个字符串,这个字符串是从一个外部API接收的,但到目前为止我还没有得到任何运气 这是阵列:从json数组php获取特定数据,php,arrays,json,Php,Arrays,Json,我试图从一个数组中获取一个字符串,这个字符串是从一个外部API接收的,但到目前为止我还没有得到任何运气 这是阵列: stdClass Object ( [type] => FeatureCollection [totalFeatures] => 1 [features] => Array ( [0] => stdClass Object ( [type] => Feature [id] => perc
stdClass Object
(
[type] => FeatureCollection
[totalFeatures] => 1
[features] => Array
(
[0] => stdClass Object
(
[type] => Feature
[id] => perceel.4304705
[geometry] => stdClass Object
(
[type] => Polygon
[coordinates] => Array
(
[0] => Array
(
[0] => Array
(
[0] => 135608.866
[1] => 444767.317
)
[1] => Array
(
[0] => 135638.627
[1] => 444759.41
)
[2] => Array
(
[0] => 135640.736
[1] => 444758.912
)
[3] => Array
(
[0] => 135642.048
[1] => 444758.752
)
[4] => Array
(
[0] => 135643.376
[1] => 444758.88
)
[5] => Array
(
[0] => 135644.544
[1] => 444759.104
)
[6] => Array
(
[0] => 135645.568
[1] => 444759.552
)
[7] => Array
(
[0] => 135646.512
[1] => 444760.064
)
[8] => Array
(
[0] => 135647.472
[1] => 444760.896
)
[9] => Array
(
[0] => 135648.176
[1] => 444761.664
)
[10] => Array
(
[0] => 135648.72
[1] => 444762.464
)
[11] => Array
(
[0] => 135649.136
[1] => 444763.552
)
[12] => Array
(
[0] => 135650.208
[1] => 444766.528
)
[13] => Array
(
[0] => 135653.968
[1] => 444777.568
)
[14] => Array
(
[0] => 135654.464
[1] => 444779.36
)
[15] => Array
(
[0] => 135660.672
[1] => 444802.784
)
[16] => Array
(
[0] => 135667.088
[1] => 444826.912
)
[17] => Array
(
[0] => 135669.351
[1] => 444835.724
)
[18] => Array
(
[0] => 135673.947
[1] => 444852.99
)
[19] => Array
(
[0] => 135680.226
[1] => 444851.14
)
[20] => Array
(
[0] => 135687.926
[1] => 444871.704
)
[21] => Array
(
[0] => 135688.078
[1] => 444872.023
)
[22] => Array
(
[0] => 135688.056
[1] => 444872.376
)
[23] => Array
(
[0] => 135687.892
[1] => 444872.648
)
[24] => Array
(
[0] => 135687.665
[1] => 444872.796
)
[25] => Array
(
[0] => 135681.376
[1] => 444874.368
)
[26] => Array
(
[0] => 135638.985
[1] => 444885.681
)
[27] => Array
(
[0] => 135624.48
[1] => 444831.424
)
[28] => Array
(
[0] => 135619.072
[1] => 444811.2
)
[29] => Array
(
[0] => 135613.504
[1] => 444790.432
)
[30] => Array
(
[0] => 135607.894
[1] => 444768.679
)
[31] => Array
(
[0] => 135608.866
[1] => 444767.317
)
)
)
)
[geometry_name] => begrenzingperceel
[properties] => stdClass Object
(
[lokaalID] => 340113504
[logischtijdstipOntstaan] => 2009-03-27T23:59:59.000
[logischtijdstipVervallen] =>
[kadastraleGemeenteCode] => VAN00
[sectie] => B
[kadastralegrootte] => 5340
[perceelnummer] => 3857
[perceelnummer_rotatie] => 0
[perceelnummer_deltax] => 0
[perceelnummer_deltay] => 0
[plaatscoordinaten] => stdClass Object
(
[type] => Point
[coordinates] => Array
(
[0] => 135644.749
[1] => 444828.56
)
)
)
)
)
[crs] => stdClass Object
(
[type] => name
[properties] => stdClass Object
(
[name] => urn:ogc:def:crs:EPSG::28992
)
)
)
我试图得到“[kadastralegrootte]=>5340”,而不仅仅是“5340”部分
我试过这样的方法:
$json = json_decode($result, true);
$grootte = $json->features->properties->kadastralegrootte;
echo "$grootte";
其中$result是一个json文件。
到目前为止没有运气。如果有人看一看,我会非常感激。在这里查看了您的代码示例后,我认为您可以通过两种不同的方法来完成,例如将其解码为数组和使用括号符号访问
[]
或将其解码为对象,但您必须使用箭头操作符访问它->
。希望有帮助:)
那怎么办
$json = json_decode($result, true);
$val= $json["features"][0]["geometry"]["properties"]["kadastralegrootte"];
echo "$val";
在您给我json字符串后编辑:
$data = json_decode($result);
$value = $data->features[0]->properties->kadastralegrootte;
echo $value;
我只是删除了真正的第二个参数,所以它返回一个对象。试试看:
不起作用:(@Dogantr发布
$result
,我可以为您制作一个可行的演示:)这对我真的很有帮助!这里有一个链接@Dogantr这应该是可以接受的anser@Dogantr我在那个链接上查看了你的共享代码后编辑了我的答案。再看一眼:)你能给我们一个json字符串吗?所以我们可以解码它并尝试帮助您,但是请给我们json编码的字符串work@Dogantr我已经更新了我的答案。检查一下非常感谢,它很有效!
$data = json_decode($result);
$value = $data->features[0]->properties->kadastralegrootte;
echo $value;