目前,我有一個如下所示的 JSON 檔案:
"1E10BC5D4EC68EE2916BFD97F23E951C": "Seattle Seahawks",
"E6B87019417436B73B62F7802763A289": "Seaside style. ",
"81EEA9E6400BFEADE161559AF14EE468": " {1}",
"6F02148E4A78B33C1CEB75BC2753CA69": " {EndDate}",
"D89CA2634FFF8FA02D028096BAAE6963": "\"You have received a reward for completing the {Bundle Name} {Number} challenges!",
"Mission": {
"Default Mission Info Description": "Default Mission Description",
"Default Mission Info Name": "Default Mission Name",
"RewardDescription": "You ranked {PositionRank}. For your efforts, you have been awarded:",
"NonParticipationRewardDescription": "Your teammates did a great job! For their efforts, you have been awarded:",
"RewardTitle": "{MissionName} Completed!"
}
它持續了大約 40,000 行,我想修改它設定的所有字串。目前,我正在使用@zuzak/owo來嘗試實作這一點。我當前的代碼如下所示:
const owo = require('@zuzak/owo')
fs = require('fs');
var name = '../jsonfile.json';
var data = fs.readFileSync(name).toString();
fs.writeFileSync('../owo.json', JSON.stringify(owo(data)))
我如何才能只更改字串,例如"Seaside style. "而不編輯任何字串名稱,例如"81EEA9E6400BFEADE161559AF14EE468"(抱歉,任何不正確的措辭,希望您能理解我在說什么。)
如果您需要,這里是@zuzak/owo 中使用的主要代碼:
const addAffixes = (str) => randomItem(prefixes) str randomItem(suffixes)
const substitute = (str) => {
const replacements = Object.keys(substitutions)
replacements.forEach((x) => {
str = replaceString(str, x, substitutions[x])
})
return str
}
uj5u.com熱心網友回復:
決議 JSON,迭代鍵,修改值。如有必要,也遞回迭代子物件:
function owoifyObject (obj) {
for (const key in obj) {
if (typeof obj[key] === 'string') {
obj[key] = owo(obj[key])
} else if (typeof obj[key] === 'object' && obj[key]) {
owoifyObject(obj[key])
}
}
}
const data = JSON.parse(fs.readFileSync('file.json').toString())
owoifyObject(data)
fs.writeFileSync('file2.json', JSON.stringify(data, null, 4))
請注意,引數4inJSON.stringify純粹是為了格式化,以便結果看起來像您的輸入,否則您將在一行中獲得所有資料。
uj5u.com熱心網友回復:
用于JSON.parse()將 JSON 檔案決議為物件。然后遍歷呼叫owo()每個值的物件。
var data = JSON.parse(fs.readFileSync(name).toString());
for (let key in data) {
data[key] = owo(data[key]);
}
fs.writeFileSync("../owo.json", JSON.stringify(data));
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/325940.html
標籤:javascript 节点.js json
