[英]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.