gpt4 book ai didi

javascript - NodeJS 没有序列化 ES6 Map

转载 作者:搜寻专家 更新时间:2023-10-31 23:59:54 25 4
gpt4 key购买 nike

这是我的示例 javascript 代码正在 node.js 中执行

let commutertrip = new Map();
let t = {
userId: 1,
capacity: 4,
commuteId: 1,
endTime: new Date(),
id: 1,
status: "QUEUED",
startTime: new Date(),
price: 100
};
commutertrip.set(1, t);
let trip = {
id: 2,
poolerId: 3,
poolerTrip: {
capacity: 4,
commuteId: 8,
id: 1,
endTime: new Date(),
startTime: new Date(),
status: "QUEUED",
price: 55,
userId: 1
},
commuterTrip: commutertrip,
status: "QUEUED"
};
console.log(JSON.stringify(trip));

输出

{"id":2,"poolerId":3,"poolerTrip":{"capacity":4,"commuteId":8,"id":1,"endTime":"2016-07-27T06:59:51.773Z","startTime":"2016-07-27T06:59:51.773Z","status":"QUEUED","price":55,"userId":1},"commuterTrip":{},"status":"QUEUED"}

我没有找到解决方法?相同的 javascript 代码工作正常 here这是 Node 参数 node --debug-brk=33172 --nolazy --harmony bin\www

最佳答案

这里的问题不在于您的代码,甚至不在于 NodeJS。主要原因是SetMap根本无法序列化。但是作为序列化这些的一种方式,您可以先将它们转换为数组:

var map = new Map([[1, 2], ['foo', 3], [[23, 43], 'bar']])
var data = { number: 23, myKey: map };

var serialized = JSON
.stringify(data, (k, v) => (v instanceof Map) ? [...v] : v);

console.log(serialized);

关于javascript - NodeJS 没有序列化 ES6 Map,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38605951/

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