我在使用 json_encode 从数组生成 json 编码字符串时遇到问题。
有问题的数组部分如下所示
RatingDistribution (Array, 11 elements)
0 (Array, 1 element)
0 (String, 3 characters ) 4.5
1 (Array, 1 element)
1 (String, 4 characters ) 11.9
2 (Array, 1 element)
但在字符串中产生这个:
"RatingDistribution":[["4.5"],{"1":"11.9"},
我希望这样:
"RatingDistribution":[{"0":"4.5"},{"1":"11.9"},
我所做的就是这样:
$result = json_encode($array);
我是否做错了什么,或者我是否需要更多代码来确保 0 键存在?
干杯
安迪
您得到的结果应该是预期的;json_encode
检测到您仅在数组中使用数字键,因此它将其转换为数组而不是 JSON 中的对象。大多数时候,这正是您想做的。
如果由于某种原因你不这样做(为什么?),在 PHP >= 5.3 中你可以使用JSON_FORCE_OBJECT标志以获得您想要的输出:
$result = json_encode($array, JSON_FORCE_OBJECT);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)