Json_decode返回截断的数组

时间:2013-01-29 14:59:48

标签: php json

我是json_encoding一个多维数组,转储如下:

$array = 

Array
(
    [a] = Array
        (
            [0] = Array
                (
                    [x0] = some-string
                    [y0] = some-string
                )
            [1] = Array
                (
                    [x1] = some-string
                    [y1] = some-string
                )
        )
    [b] = Array
        (
            [b1] = Array
                (
                    [0] = Array
                        (
                            ...
                        )
                )
            [b2] = Array
                (
                    [0] = Array
                        (
                            ...
                        )
                )
            ...
     )
)

但如果我执行以下操作并转储结果:

$json = json_encode( $array );
json_decode( $json, true );

仅返回数组“a”:

Array
(
    [a] = Array
        (
            [0] = Array
                (
                    [x0] = some-string
                    [y0] = some-string
                )
            [1] = Array
                (
                    [x1] = some-string
                    [y1] = some-string
                )
            ...
        )
    )
)

我的第一个想法是导致解析错误的无效字符,但json_decode应该只从解析错误中返回null,而不是部分解析的数组。

附加信息:原始数组嵌套最多9个级别,编码时为~52,000个字符串。

更新:我在PHP 5.2.11上看到了这个问题,所以json_last_error()不可用。我们在许多不同的服务器上运行此代码,这是此问题的唯一情况,因此我猜测它是基于服务器的问题,而不是基于代码的问题,无论值得做什么。

有什么想法吗?

0 个答案:

没有答案