gpt4 book ai didi

javascript - 数组的数组,JSON.stringify() 给出空数组而不是整个对象

转载 作者:数据小太阳 更新时间:2023-10-29 05:40:30 32 4
gpt4 key购买 nike

这是我的数组(来自 Chrome 控制台):

array in Chrome console

下面是代码的相关部分:

console.log(hours);
var data = JSON.stringify(hours);
console.log(data);

在 Chrome 的控制台中,我从最后一行得到 []。我应该得到 {'Mon':{...}...}

这里是重现问题的最少 JavaScript 数量:

var test = [];
test["11h30"] = "15h00"
test["18h30"] = "21h30"
console.log(test);
console.log(JSON.stringify(test)); // outputs []

我尝试了一些其他的东西,比如 Convert array to JSONConvert javascript object or array to json for ajax data但问题依然存在。

最佳答案

这是重现问题的最少 javascript 量

var test = [];
test["11h30"] = "15h00"
test["18h30"] = "21h30"
console.log(test);
console.log(JSON.stringify(test)); // outputs []

上面的问题是,虽然 javascript 很乐意让您将新属性后期绑定(bind)到 Array,但 JSON.stringify() 只会尝试序列化数组中的实际元素。

使对象成为实际对象的最小更改,JSON.stringify 按预期工作:

var test = {}; // here is thre only change. new array ([]) becomes new object ({})
test["11h30"] = "15h00"
test["18h30"] = "21h30"
console.log(test);
console.log(JSON.stringify(test)); // outputs {"11h30":"15h00","18h30":"21h30"}

关于javascript - 数组的数组,JSON.stringify() 给出空数组而不是整个对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28500851/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com