【发布时间】:2021-11-22 12:08:42
【问题描述】:
我有一个这样的 JSON:
{
"generic": {
"tables": {
"header": "Header",
"columns": "Columns"
},
"yes": "Yes",
"no": "No"
}
}
但有数千行和更多嵌套对象。我需要翻译所有这些字符串,所以我正在制作一个脚本来完成它。如何遍历每个字符串并用某些东西替换它?
我已经搜索并找到了这个帖子:Looping through JSON with node.js,但我找不到任何适合我需要的解决方案。
我制作了这个快速脚本:
const fs = require('fs');
const obj = JSON.parse(fs.readFileSync('en.json', 'utf-8'));
const translate = (obj, path = '') => {
const keys = Object.keys(obj);
keys.forEach((key) => {
const type = typeof obj[key];
if (type === 'object') {
translate(obj[key], path === '' ? key : path + '.' + key);
} else {
console.log(path + ' --> [' + key + ']: ' + obj[key]);
}
});
};
translate(obj);
它循环遍历数组。在控制台日志行中,我有翻译项目的完整路径(即:'generic.tables.header'),并且我有翻译的键和值。
如何创建一个包含键的新对象?
【问题讨论】:
标签: javascript node.js json