gpt4 book ai didi

javascript - 如何使用 TypeScript 比较两个 JSON 文件的内容?

转载 作者:行者123 更新时间:2023-12-01 01:14:28 27 4
gpt4 key购买 nike

如何在 Angular 中比较两个 JSON 文件的内容并获得以下结果:

假设我有一个 default.json 文件,如下所示:

default.json

 {
"name": "John"
"age": 30,
"car1": "Ford"
"car2": "BMW"
"car3": "Fiat"
}

另一个specified.json文件如下所示:

具体.json

 {
"name": "Doe",
"car1": "Tesla",
"car4": "Mercedes"
}

default.json 始终包含所有可能的键,而specified.json 则应包含键被覆盖和附加 key ,这些 key 不包含在 default.json (在我的示例中:“car4”)。

现在应该通过比较检查以下内容:

如果特定键(在我的示例中为“name”和“car1”)special.json中具有不同的值在 default.json 中对于相同的键,那么这些值应该被覆盖并使用。否则,始终使用 default.json 中的默认值和 special.json 中的附加值> 当然(在我的示例中为“car4”)

最后应该使用这两个文件,因此 Specific.json 仅用作 default.json 的更新或扩展。我需要在 Angular 应用程序中使用此功能,我必须比较两个 JSON 文件,然后使用 ngx-translate库根据应用的具体业务案例提供具体的翻译。如果您愿意,请查看我关于此主题的问题:Translations based on specific keys in custom JSON files and business cases with ngx-translate (Angular 7)

我希望我能解释清楚:)

最佳答案

使用 es6 展开运算符来合并(并覆盖)对象

const defaultObj = {
name: 'John',
age: 30,
car1: 'Ford',
car2: 'BMW',
car3: 'Fiat'
};

const specificObj = {
name: 'Doe',
car1: 'Tesla',
car4: 'Mercedes'
}

console.log({ ...defaultObj, ...specificObj });

关于javascript - 如何使用 TypeScript 比较两个 JSON 文件的内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54893525/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com