3
をシリアル化されていない出力NodeJSは、これは私のサンプルコード<code>javascript</code>あるES6地図
{"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"}
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));
で実行されている私は、この問題を解決する方法を見つけることができませんでしたか?同じjavascript
コードが here正常に動作します。ここノードの引数だ、ここnode --debug-brk=33172 --nolazy --harmony bin\www
それはないすべての 'Map'はserialisableではありませんので。手動で行う必要があります。1.マップをプレーンなJSオブジェクトに変換します。2.シリアル化します。 – zerkms
@zerkms、地図機能を持つのは何ですか?それはあなたがマップをjsonに変換することは決してできないようなものです。マップの代わりに、独自のオブジェクトを宣言する必要があります。 – Reddy
ポイントは、任意の型のキーを任意の型の値に関連付けることができるデータ構造を持つことです。 – zerkms