你好,我有这个json:
[{"org_src":"img'/base'/logo.png","src":"'/cache'/300-logo.png"},
{"org_src":"'/img'/l2.JPG","src":"'/cache'/6l-2.JPG"},
{"org_src":"'/img'/studio'/desk.JPG","src":"'/cache'/desk.JPG"},
...
数组在被解码之前看起来如何?如果我对这个使用Json_encode,我将得到这个:
Array
(
[0] => stdClass Object
(
[og_src] => img/base/logo.png
[src] => /cache/300-logo.png
)
[1] => stdClass Object
(
[og_src] => /img/l2.JPG
[src] => /cache/6l-2.JPG
)...
什么是stdClass对象?谢谢你的帮助。
与json_decode(美元测试,真实);我会得到这个:
Array
(
[0] => Array
(
[og_src] => img/base/logo.png
[src] => /cache/logo.png
)
[1] => Array
(
[og_src] => /img/studio/l2.JPG
[src] => /cache/6l-2.JPG
...
这并不能帮助我了解原始数组的样子。
这就是答案。这就是我想要的。谢谢你的建议。
$stack[0][org_src]= "Hallo";
$stack[0][src] = "scrkjh";
$stack[1][org_src] = "Halfgfglo";
$stack[1][src] = "scrkjh";
json_encode($stack);
你可能指的是json_decode
如果你看一下文档,你会注意到如果你想获得关联数组而不是对象,有一个assoc
参数。
所以你应该做
$data = json_decode($data, true);
如果你不想要对象
stdClass
是PHP中所有对象的基类。如果像json_decode()
这样的函数创建的对象不是特殊的类类型,或者其他数据类型将被强制转换为object,则使用stdClass作为数据类型。
可以与Java中的Object
数据类型进行比较。
你问了一个如何访问stdClass的属性的例子,或者一般来说,PHP中的对象属性。使用->
操作符,像这样:
$result = json_decode($json);
// access 'src' property of first result:
$src = $result[0]->src;
stdClass是php的泛型空类,有点像Java中的Object或Python中的Object
对于匿名对象,动态属性等非常有用,Stdclass Object是它的对象
参见PHP和StdClass中的动态属性示例
也. .正如Marko D所说,您可以使用json_decode($data, true);
true来获取关联数组,而不是object。