将POST接收的数据以json格式写入json文件

时间:2016-08-01 07:00:41

标签: javascript json node.js post

尝试将以POST请求收到的数据以这种格式添加到json文件中:

[ {
    "id": 1,
    "data": "hello",
    "data1": "hi",
    "data2": "hey",
} ]

但是现在它写得像这样:

id=1&data=hello&data1=hi&data2=hey

我已经读过我必须首先解析数据,这是代码:

if (request.method == 'POST' && request.url == "/page") {
        var body = "";
        request.on('data', function (data) {
            body += data;
    });
    request.on('end', function (req, res) {

        POST = qs.parse(body);
        console.log(POST);

        var operation = POST.insert;

        if (operation == 'insert') {
            fs.readFile("file.json", "utf8", function (err, data){
                var updateData =  {
                    id: POST.id,
                    data: POST.data,
                    data1: POST.data1,
                    data2: POST.data2
                }

                var newData = qs.stringify(updateData);
                fs.writeFile('file.json', newData, "utf8");
                console.log(err);
            })
        }
    });
}

如何将其转换为json格式?

1 个答案:

答案 0 :(得分:1)

qs.stringify的目的是获取一个对象并将其转换为查询字符串。

如果您想要JSON而不是查询字符串,那么请不要使用该函数!

您可以使用JSON.stringify将对象转换为JSON。