javascript - 停止将数组转换为大型数组的对象
问题描述
我从json从后端检索数据到前端,当我发送小数组时它打印为数组
[[["79.869594371948224,6.9351183796382223"],["79.869644126545694,6.9341375295332206"],.......
当我发送大数组时,它会作为对象打印
{"0":[["81.175402528806714,6.9255110868816949"],["81.1758192226863,6.9248754300773347"],........
我从后端传递了相同格式的结果,为什么大型数组会发生这种情况?如何解决这个问题?
解决方案
如果您想知道为什么 json_encode() 将您的 PHP 数组编码为 JSON 对象而不是 JSON 数组,您可能需要仔细检查您的数组键,因为 json_encode() 假定您的数组是一个对象,如果您的键不是连续的。
$foo = array('a','b','c');
print_r(json_encode($foo));
unset($foo[0]);
echo "\n";
print_r(json_encode($foo));
$foo = array_values($foo);
echo "\n";
print_r(json_encode($foo));
/** Output
["a","b","c"]
{"1":"b","2":"c"}
["b","c"]
*/
推荐阅读
- firebase - 只允许付费用户写入特定字段?
- image - 当键盘弹出时如何隐藏图像小部件?
- javascript - 正则表达式在任何非字母之前获取字符串
- reactjs - 将字符串变量 prop 传递给 useQuery 函数
- c# - 如何跳到csv文件csvhelper c#的最后一个表/数据集
- python - 如何提高我的模型的准确性?(猫对狗图像识别)
- javascript - 我如何使用反应热键库捕获命令(Windows 上的 ctrl)+ 数字键盘加/减?
- visual-studio-code - 无法在 MacOS 上的 Visual Studio Code 上导入“pyspark”pylint(导入错误)
- google-chrome-extension - 从扩展中获取鼠标悬停时元素的css id
- android - 玩游戏服务成就不起作用