我想將另一個 Json 檔案中的資料添加到另一個檔案而不覆寫現有檔案。我只是不能再進一步了,控制臺總是給我以下資訊:
Console output
Data
string
[
"follow1",
"follow2",
"follow3",
"follow4",
"[\"follow5\",\"follow6\",\"follow7\",\"follow8\",\"follow9\"]"
]
這是我的代碼,我想添加資料但沒有方括號和反斜杠。如果有人可以幫助我,那就太好了。非常感謝
const user = require('./user.json');
const oldUser = user.user_follwos["user1"];
const data = require('./data.json');
const toAdd = JSON.stringify(data);
const result = JSON.stringify(toAdd);
oldUser.push(...toAdd.split(' '))
const newData = JSON.stringify(oldUser, null, 4)
console.log('\nData \n' typeof newData ' \n' newData);
這是我的 json 檔案
//user.json
{
"application_id": "123546789",
"user_follwos": {
"user1": [
"follow1",
"follow2",
"follow3",
"follow4"
],
"user2": [
"followA",
"followB",
"followC",
"followD"
]
},
...
...
}
//data.json
[
"follow5",
"follow6",
"follow7",
"follow8",
"follow9"
]
uj5u.com熱心網友回復:
您不需要對資料變數進行字串化,因為它是一個 javascript 物件,因此您可以將它連接到現有用戶陣列的末尾。
const user = require('./user.json');
let oldUser = user.user_follwos["user1"];
const data = require('./data.json');
oldUser = oldUser.concat(data);
const newData = JSON.stringify(oldUser, null, 4);
console.log('\nData \n' typeof newData ' \n' newData);
concat 方法創建一個新的陣列物件,因此您可以將結果分配給一個新變數,而無需覆寫現有的“oldUser”變數。
Data
string
[
"follow1",
"follow2",
"follow3",
"follow4",
"follow5",
"follow6",
"follow7",
"follow8",
"follow9"
]
uj5u.com熱心網友回復:
在將結果寫入檔案之前,您應該在最后一次將資料結構準確地轉換為 JSON 。
就目前而言,您正在一有機會就將所有內容轉換為 JSON。因此,每次您嘗試向資料結構添加陣列時,您都會添加一個表示該陣列的 JSON 字串。
uj5u.com熱心網友回復:
首先做一些你需要json中的資料
- 制作2個陣列
- 洗掉重復項
- 然后推送沒有重復的資料。
把所有東西放在一起
let allTogether = data.push(...oldUser);
創建唯一陣列
uniq = [...new Set(allTogether )];
最后將此唯一資料設定為特定鍵
user_follwos.user1 = uniq
希望這是你需要的
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/377450.html
標籤:javascript 节点.js json 写文件
上一篇:貓鼬批量更新
