如何处理 json 并写入 node.js 中的文件

Posted

技术标签:

【中文标题】如何处理 json 并写入 node.js 中的文件【英文标题】:how to handle json and write to a file in node.js 【发布时间】:2016-03-11 07:57:03 【问题描述】:

现在我有类似这个 api 调用的代码,社交网络 vk.com:

// Setup
var fs = require('fs');
var VK = require('vksdk');

var vk = new VK(
    'appId': ********,
    'appSecret': '*****************',
    'language': 'ru'
);


vk.oldRequest("photos.get", 
    owner_id: "-28445240",
    album_id: "wall",
    rev: "1",
    extended: "1",
    version: "5.40",
, function (data) 
    console.log(data);
);

在控制台输出 json。如何将其写入文件。

【问题讨论】:

嗯,你试过fs.writeFile(filename, data, [encoding], [callback]) 吗? ***.com/questions/5726729/… 在 fs.writeFile 之后,我的文件包含:[object Object] 【参考方案1】:

您需要将JSON.stringify(anyObject) 传递给fs.writeFile 才能将对象保存到文件中,否则您将得到字符串[object Object]Object.prototype.toString() 的结果)

【讨论】:

【参考方案2】:

你需要做两件事:

Convert the object to a JSON string 和 JSON.stringify。你得到了[object Object],因为这就是 JS 将对象强制转换为字符串的方式。 Write it to a file 和 fs.writeFile
var fs = require('fs');
fs.writeFile("data.json", JSON.stringify(data, null, 2), function(err) 
    if(err)  return console.log(err); 
);

【讨论】:

以上是关于如何处理 json 并写入 node.js 中的文件的主要内容,如果未能解决你的问题,请参考以下文章

Node js - 如何处理多个异步任务

Node.js:如何处理在字典中查找同名的不同城市?

对象。 C - 如何处理错误写入的 JSON

Node.js - 如何处理流错误事件

Node.js如何处理健壮性

node.js如何处理请求的路由