0

私は次のようなものをダンプする多次元配列を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() は使用できません。このコードは多くの異なるサーバーで実行されていますが、これがこの問題の唯一のケースであるため、コードベースではなくサーバーベースの問題であると推測しています。

何か案は?

4

0 に答える 0