0

你好我有这个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($test,true); 我会得到这个:

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);
4

3 回答 3

1

你可能是说json_decode

如果您查看文档,您会注意到assoc如果要获取关联数组而不是对象,则有参数。

所以你应该做

$data = json_decode($data, true);

如果你不想要对象

于 2013-04-06T12:54:05.357 回答
1

stdClass是 PHP 中所有对象的基类。如果json_decode()创建不属于特殊类类型或其他数据类型的对象之类的函数将被强制转换为对象,则使用 stdClass 作为数据类型。

您可以将其与ObjectJava 中的数据类型进行比较。


您询问了一个示例,如何访问 stdClass 的属性,或者一般来说,PHP 中的对象属性。使用->运算符,如下所示:

$result = json_decode($json);

// access 'src' property of first result:
$src = $result[0]->src;
于 2013-04-06T12:52:53.003 回答
0

stdClass 是 php 的通用空类,有点像 Java 中的 Object 或 Python 中的对象

它对匿名对象、动态属性等很有用,Stdclass Object 是它的对象

例如,请参阅 PHP 和 StdClass 中的动态属性

另外.. 正如 Marko D 所说,您可以使用json_decode($data, true);true 来获取关联数组而不是对象。

于 2013-04-06T12:55:54.037 回答