我有一个Javascript对象,我通过迭代来改变它。我想将其保存为JSON对象。但是我如何获得新对象?如果我控制它.log它有两个问题:首先,它可能太长了控制台。其次,控制台会删除密钥的字符串。
处理此问题的最佳方法是什么?
我想获取此JSON并将其复制到另一个文件中。我尝试过使用fs:
var fs = require('fs');
fs.writeFile("data/datafile.json", dataObject, function(err) {
if(err) {
return console.log(err);
}
console.log("The file was saved!");
});
但它只是将其写入datafile.json文件:
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
任何想法或最佳做法?
答案 0 :(得分:2)
您应该使用json sringify选项:
//Replace
fs.writeFile("data/datafile.json", dataObject, function(err)...
//with:
fs.writeFile("data/datafile.json", JSON.stringify(dataObject), function(err)...
如果你只是做克隆,你可以使用以下方法之一: What is the most efficient way to deep clone an object in JavaScript?
如果你只想查看它,你可以在console.log中使用字符串化的JSON并将其粘贴到在线json查看器中。 (如果它太大,你可以保存到文件,并将文件上传到在线查看器)