Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/373.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将POST接收到的数据以json格式写入json文件_Javascript_Json_Node.js_Post - Fatal编程技术网

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

Javascript 将POST接收到的数据以json格式写入json文件,javascript,json,node.js,post,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 ==

正在尝试将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格式?

将对象转换为查询字符串是
qs.stringify的要点

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


您可以使用
JSON.stringify

将对象转换为JSON谢谢,这很有帮助!