【问题标题】:Acess key and value from json ReactJS从 json ReactJS 访问键和值
【发布时间】:2019-08-06 04:39:46
【问题描述】:
{
    "1": {
        "emails": [
            {
                "address": "emailaddress@email.com",
                "verified": true
            }
        ],
        "_id": "dgBWJ4qBNsxa9a4MketL",
        "createdAt": "2019-07-23T15:33:34.270Z",
        "username": "emailaddress@email.com",
        "profile": {
            "active": true
        }
    }
}

我想从“地址”访问“emailaddress@email.com”

这是我尝试过的

{ key: "emails[0].address", label: "Email" }

【问题讨论】:

标签: arrays json reactjs


【解决方案1】:

如果要访问该值,则不应使用引号。

emails[0].address

就像访问值一样,不用引号。

但这取决于您使用的编程语言。

【讨论】:

  • 这是为 react js 准备的。很抱歉没有提到这一点。
【解决方案2】:

您错过了使用外部 JSON 对象的键“1”获取孩子。

假设您将这个 JSON 字符串 (jsonString) 解析为 JS 对象后,您会得到以下内容:

let jsonObject = parse(jsonString);
console.log(jsonObject['1']['emails'][0]['address']); // <== This is what you are looking for

【讨论】:

  • 这是为 react js 准备的。很抱歉没有提到这一点。
【解决方案3】:

var objData = {
  "1": {
    "emails": [{
      "address": "emailaddress@email.com",
      "verified": true
    }],
    "_id": "dgBWJ4qBNsxa9a4MketL",
    "createdAt": "2019-07-23T15:33:34.270Z",
    "username": "emailaddress@email.com",
    "profile": {
      "active": true
    }
  }
}
var newOnbject = {};
var keys = Object.keys(objData);
for (var i = 0; i < keys.length; i++) {
  var key = keys[i];
  newOnbject.key = objData[key].emails[0].address;
  newOnbject.label = "Email"
}
console.log(newOnbject)

注意:您避免接收外部 JSON 对象的每个子键。

【讨论】:

  • 这是为 react js 准备的。很抱歉没有提到这一点。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多