gpt4 book ai didi

javascript - map 对象的 JSON.stringify 返回空

转载 作者:数据小太阳 更新时间:2023-10-29 04:43:24 24 4
gpt4 key购买 nike

    var map1= new Map();
map1.set("one",1);
var map2 = new Map();
map2.set("two",2);
concatMap = {};
concatMap['one']= map1;
concatMap['two']= map2;
JSON.stringify(concatMap);

//outputs : "{"one":{},"two":{}}"

I also tried:

concatMap = {};
concatMap.one= map1;
concatMap.two= map2;

为什么我在使用 JSON.stringify() 时得到空对象而不是映射 1 和映射 2?

最佳答案

这是预期的结果。 JSON.stringify 不会将 Map 对象识别为与常规对象不同的任何东西,并且 JSON 规范本身没有正确存储 Map 的方法。它只是将 map 视为常规对象,可能包括在其上设置的任何自己的对象属性。

var m = new Map();

// This is not included:
m.set('test', 123);

// This would be included:
m['other'] = 456;

console.log(JSON.stringify(m));

如果您只是使用字符串键,则可以使用常规对象而不是 Map。

关于javascript - map 对象的 JSON.stringify 返回空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46634449/

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