javascript - 尝试在 Node.js 中对 JSON 文件进行简单的 PUT 请求

标签 javascript json node.js

我正在尝试创建一个 PUT 方法来更新 obj.json 文件并在上传后显示其内容。我得到一个空对象,没有内容?

 function upload(response, request) {
    console.log("Request handler 'upload' was called.");

    var form = new formidable.IncomingForm();
    console.log("about to parse");

    form.parse(request, function(error, fields, files){
        response.writeHead(200, {'content-type': 'application/json'});
        response.write('received upload:\n\n');
        response.end(util.inspect({fields: fields, files: files}));
    });

    form.on('file', function(field, file) {
        console.log(file);
        if (file.type == 'application/json') {
            jsonObject = JSON.parse(fs.readFileSync(file.path, 'utf8'));
            console.log(jsonObject);
        } else { console.log('wrong file');}
    });
}

function update(response, request) {
    console.log("Request handler 'update' was called.");
    response.writeHead(200, {"Content-Type": "application/json"});

    var form = new formidable.IncomingForm();
    console.log("about to parse");

    form.parse(request, function(error, fields, files){
        response.writeHead(200, {'content-type': 'application/json'});
        response.write('ready to update:\n\n');
        response.end(util.inspect({fields: fields, files: files}));
    });

    form.on('file', function(field, file) {
        console.log(file);
        if (file.type == 'application/json') {
            JSON.parse(fs.writeFileSync(file.path, JSON.stringify('"test":"Okay"'), 'utf8'));
            console.log(jsonObject);
        } else { console.log('wrong file');}
    });

}

我能够上传文件并访问 json,但现在无法更改文件的内容。关于如何做到这一点有什么想法吗?另外,删除方法是一样的吗?

最佳答案

您在这里问了 2 个问题,因此我给您 2 个单独的答案。更新 JSON 文件就像其他任何事情一样:

var fs = require('fs');
var filename = '/tmp/content.json';
var file = fs.readFileSync(filename);
var json = JSON.parse(file);

//update the object
json.newValue = 'testValue';

//update the file with new object
fs.writeFileSync(filename, JSON.stringify(json));

关于javascript - 尝试在 Node.js 中对 JSON 文件进行简单的 PUT 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28548848/

相关文章:

javascript - 使用 php 和 javascript 动态生成到 mp3 文件的重定向

javascript - 为两个 ID 设置一个变量的正确语法

Javascript 替换不起作用

java - Jackson ObjectMapper : Can java. util.Set 按升序序列化为 JSON 数组?

javascript - 错误 : getaddrinfo ENOTFOUND when sending https request Node. js 和 API

javascript - 计算日期数组

json - NodeJS + Mongo 如何查找并返回 JSON

javascript - 解析 json 响应并在 div 中显示数据。天气API

javascript - 在 Node.js 中初始化并返回类中的类

javascript - 护照-facebook-token 返回 InternalOAuthError : Failed to fetch user profile when verifying the token