electron 将某些数据传输到另一个JSON文档的最佳方法是什么?

y53ybaqx  于 2022-12-08  发布在  Electron
关注(0)|答案(1)|浏览(189)

说明:
我想做一个电子应用程序[Javascript而不是jQuary](或者正在这样做的过程中),并希望添加一个功能,把一个配置到另一个的“格式”。
这个大文件,我想从中获取我当前通过“dialog.showOpenDialog”读入的信息,并且还可以访问json对象。

现在问题来了

我通过对话框获得的文件有8000行长,其中包含我想打包到一个约3000行的小文档中的个人信息。重要:个别信息具有不同的名称,例如,我想要“ABCD:23”,另一个文件中为EFG:23.
"现在我有两个问题“
1.如何最好地提供较小的文件进行编辑?
1.我如何在不分别遍历每一行的情况下转换单个信息?
bigconfig.json:

{
    "EXAMPLE_CATEGORY": {
        "setting1": 0,
        "setting2": 1,
        "setting3": 115,
        "setting4": 0,
    },

Smallerconfig.json

{
    "EXAMPLE_CATEGORY": {
        "setting7": 115,
        "setting8": 0,
    },

编辑:我想实现的是,我可以创建(并保存)一个修改过的文件,其中包含我从大文件打包到小文件中的信息。

在较小的一个应该是所有3000毡
真的会很感激帮助...昨天我做了很多研究,用了几个小时的搜索引擎。
先谢了

7kjnsjlb

7kjnsjlb1#

您的smallerConfig对象知道要使用哪些键的唯一方法是您事先定义它们。要做到这一点,您必须创建一个将键名链接到键名的对象。这些链接最好在一个地方定义。下面的代码将这些链接保存在conversionTable中。
若要生成smallerConfig对象,必须循环(使用for...in)一次一行地遍历bigConfig对象。在这里,您将检查bigConfig对象中的键是否与conversionTable(使用in operator)。如果找到匹配的键,那么我们将使用conversionTable中的键值作为smallerConfig对象中的new键值。

let bigConfig = {
    'EXAMPLE_CATEGORY': {
        'setting1': 0,
        'setting2': 1,
        'setting3': 115,
        'setting4': 0
    }
};

let smallerConfig = {
    'EXAMPLE_CATEGORY': {}
};

let conversionTable = {
    'setting3': 'setting7',
    'setting4': 'setting8'
};

// Iterate through the bigConfig object
for (let bigKey in bigConfig.EXAMPLE_CATEGORY) {
    // Check for a matching key in the conversionTable
    if (bigKey in conversionTable) {
        smallerConfig.EXAMPLE_CATEGORY[conversionTable[bigKey]] = bigConfig.EXAMPLE_CATEGORY[bigKey];
    }
}

console.log(smallerConfig);

输出将为:

{
    'EXAMPLE_CATEGORY': {
        'setting7': 115,
        'setting8': 0
    }
}

最后道:

  • 使用JSON.parse()将文件内容从字符串转换为Javascript对象。
  • 使用JSON.stringify()将Javascript对象转换回字符串,以便写入新文件。

相关问题