首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >搜索一个JSON对象并从给定的键返回一个级别的键:value?

搜索一个JSON对象并从给定的键返回一个级别的键:value?
EN

Stack Overflow用户
提问于 2019-01-03 21:31:53
回答 2查看 671关注 0票数 2

这似乎是一个基本的问题,但我对编码还不熟悉,只是找不到答案。(我在StackOverflow上搜索过很多次了。)

下面是一个JSON对象:

代码语言:javascript
复制
const json = {
    "catalog:aardvark": {
        "severity": "minor"
    },
    "catalog:baboon": {
        "severity": "minor",
        "testDependency": "dashboard:echidna"
    },
    "catalog:capybara": {
        "severity": "minor",
        "testDependency": "dashboard:ferret"
    },
    "dashboard:dingo": {
        "severity": "minor"
    },
    "dashboard:echidna": {
        "severity": "minor"
    },
    "dashboard:ferret": {
        "severity": "minor"
    }
}

使用普通的JavaScript或ES6或Node模块,我需要返回键"catalog:capybara",但我只能使用键"testDependency"和/或值"dashboard:ferret"。其余的都不为这些目的所知。

我已经尝试了很多事情,但都没有用,我将不让你知道我的失败的细节。再一次,这看起来应该很简单。我非常感谢你的帮助!

PS:不要对许多键和值包括字符:这一事实感到困惑

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-01-03 21:38:25

您可以获取对象的键并找到嵌套的对象,然后返回键。

代码语言:javascript
复制
function find(object, key, value) {
    return Object.keys(object).find(k => object[k][key] === value);
}

var object = { "catalog:aardvark": { severity: "minor" }, "catalog:baboon": { severity: "minor", testDependency: "dashboard:echidna" }, "catalog:capybara": { severity: "minor", testDependency: "dashboard:ferret" }, "dashboard:dingo": { severity: "minor" }, "dashboard:echidna": { severity: "minor" }, "dashboard:ferret": { severity: "minor" } };

console.log(find(object, 'testDependency', 'dashboard:ferret'));

票数 2
EN

Stack Overflow用户

发布于 2019-01-03 21:44:36

您可以将JSON映射到一个键/值数组,如下所示:

代码语言:javascript
复制
const array = Object.keys(json).map((key) => {
    return  {key: key, value: json[key] };
});

然后可以对键/值进行筛选:

代码语言:javascript
复制
const filtered = array.filter((obj) => {
    return obj.key === "catalog:capybara" || obj.value.testDependency === "dashboard:ferret";
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54030081

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档