-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}}}}"

一切都是对象,但关键必须是一个数组1wordPosDict

我的问题是实现我所追求的结果的最佳方法是什么?

4

1 回答 1

3

您仍然应该使用json_encode来处理从 PHP 到 JSON 的转换。您可以在调用之前转换您的 PHP 对象json_encode

不要分配array()"posDict"键,而是尝试分配new stdClass().

于 2013-10-20T08:51:41.563 回答