-2

次の配列があります。

$word = Array(
    'dictionaries' => Array(
        'posDict' => Array(),
        'wordPosDict' => Array(
            '1' => Array(1, 4, 5)
        )
    )
);

json にエンコードする場合、次の形式にする必要があります。

"{"dictionaries":{"posDict":{},"wordPosDict":{"1":[1,4,5]}}}"

posDictはオブジェクトでなければならず、キーの入力は配列1でなければなりません。wordPosDict現在、json_encode でそれを行うことはできません。

json_encode($word) 

与える

"{"dictionaries":{"posDict":[],"wordPosDict":{"1":[1,4,5]}}}"

posDict配列です

json_encode($word, JSON_FORCE_OBJECT) 

与える

"{"dictionaries":{"posDict":{},"wordPosDict":{"1":{"0":1,"1":4,"2":5}}}}"

すべてがオブジェクトですが、キーは配列1でなければなりません。wordPosDict

私の質問は、私が求めている結果を達成するための最良の方法は何ですか?

4

1 に答える 1

3

json_encodePHP から JSON への変換処理には引き続き使用する必要があります。を呼び出す前に、PHP オブジェクトを変換できますjson_encode

キーに割り当てる代わりに、割り当てarray()てみてください。"posDict"new stdClass()

于 2013-10-20T08:51:41.563 に答える