我有以下数组结构:
Array
(
[t] => 812
[0] => Array
(
[5] => 649
[6] => 12
)
[2] => Array
(
[0] => 10
)
[3] => Array
(
[0] => 1
)
[4] => Array
(
[0] => 152
)
)
目前,所有数组索引(除了t)都是整数。
我想使用JSON_encode()将其转换为等效的JSON,但当我这样做时,任何只有一个索引(索引0)的数组都会被转换为整数,而不是数组。
例如
[2] => Array
(
[0] => 10
)
转换为.
{"2":[10]
而不是。。
{"2":[0:10]
如果解决了这个问题,那么JSON使用字符串索引而不是整数就可以了。。
{"2":["0":10]}
你有没有想过我该怎么解决这个问题?
它们不会转换为单个整数,而是转换为只有一个元素的数组!
在JSON中,方括号[]
表示数组,而花括号{}
表示对象。
如果您想强制json_encode
输出对象,就像在您的示例中一样,您可以选择选项JSON_FORCE_OBJECT
(请参阅docu):
$encoded = json_encode( yourArray, JSON_FORCE_OBJECT );
在json_encode
中使用JSON_FORCE_OBJECT
标志。