【问题标题】:JSON payload how to find a key/value equal to a value provided [duplicate]JSON有效负载如何找到与提供的值相等的键/值[重复]
【发布时间】:2021-11-27 00:02:12
【问题描述】:

在使用 API 的项目中,我收到如下 JSON 负载:

{
  "data": {
    "study": {
      "id": "DEM1",
      "locales": [
        {
          "locale": "en_IT",
          "language": {
            "direction": "ltr"
          }
        },
        {
          "locale": "en_US",
          "language": {
            "direction": "ltr"
          }
        }
      ]}

从这个 JSON 中,我需要用 JS 找到语言环境 en_US 并输出 "direction": "ltr"。

语言环境到达获取此 JSON 的方法中,我需要提取它的正确部分,对应于 en_US。

在这种情况下我很难做到这一点

【问题讨论】:

    标签: javascript json


    【解决方案1】:

    使用Array#find:

    const obj = {
      "data": {
        "study": {
          "id": "DEM1",
          "locales": [
            {
              "locale": "en_IT",
              "language": { "direction": "ltr" }
            },
            {
              "locale": "en_US",
              "language": { "direction": "ltr" }
            }
          ]
        }
      }
    };
    
    const { language } = 
      obj?.data?.study?.locales?.find(({ locale }) => locale === "en_US") || {};
    
    console.log(language);

    【讨论】:

      猜你喜欢
      • 2019-04-09
      • 2021-12-16
      • 1970-01-01
      • 1970-01-01
      • 2021-01-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-04-13
      相关资源
      最近更新 更多