簡體   English   中英

如何將json對象從POST請求寫入/附加到JSON文件?

[英]How to write/append the json object from a POST request to a JSON file?

我想使用POST請求提供的數據將JSON元素添加到JSON文件中。 這已經很有效了,我只是弄清楚如何將id添加到數據中,我該怎么做?

我嘗試了很多,我創建了一個全新的JSON對象,並嘗試將其添加到我的文件中,但是我沒有工作,我嘗試將數據添加到POST請求中給出的數據,如下所示:body + = {“id”: 10}; 這會產生一個未定義的錯誤。

以下是我處理POST請求的方法:

} else if (req.method === 'POST' && pathname === 'Kunden') {

        res.writeHead(200, {
            'Content-Type' : 'application/json'
        });

        var body = '';
        req.on('data', function(data) {
            body += data;
        });

        req.on('end', function() {

            fs.readFile('Kunden.json', function(err, kundenJSON) {
                if (err) {
                    console.log(err);
                }

                var kunden = JSON.parse([kundenJSON]);
                kunden.kunde.push(JSON.parse(body));
                kundenJSON = JSON.stringify(kunden);

                fs.writeFile('Kunden.json', kundenJSON, function(err) {
                    if(err) {console.log(err);
                    }});
            });

            });
    }

}).listen(8081);

這是我已經存在的JSON文件:

{"kunde":[{"id":1,"name":"Customer1"},{"id":2,"name":"Customer2"},{"id":3,"name":"Customer3"}]}

基本上我從POST req獲取“名稱”,我必須添加以下id(在第一個請求中,這將是4,然后是5,依此類推),然后將其附加到我的文件中。

最后我的文件應如下所示:

{"kunde":[{"id":1,"name":"Customer1"},{"id":2,"name":"Customer2"},{"id":3,"name":"Customer3"},{"id":4,"name":PostData"}]}

但我現在只能管理這個:

{"kunde":[{"id":1,"name":"Customer1"},{"id":2,"name":"Customer2"},{"id":3,"name":"Customer3"},{"name":PostData"}]}

如果我理解正確,您希望在將新對象保存到文件時添加和id。 這基本上很簡單,但您也應該知道如何正確跟蹤ID。

var kunden = JSON.parse([kundenJSON]);
var newKunde = JSON.parse(body);
newKunde.id = 4;
kunden.kunde.push(newKunde);
kundenJSON = JSON.stringify(kunden);

我正在談論的問題是,如何了解新的身份證? 你可以說newId = kunden.kunde.length + 1 - 但如果你稍后刪除一個,你將有重復的id。 您還需要考慮如何處理未來的獨特ID。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM