首页 > 解决方案 > 在 Javascript 中解构 json 对象

问题描述

如何访问 _id 和 state 值?

这是data

{
    "data": {
        "totalSamplesTested": "578841",
        "totalConfirmedCases": 61307,
        "totalActiveCases": 3627,
        "discharged": 56557,
        "death": 1123,
        "states": [
            {
                "state": "Lagos",
                "_id": "O3F8Nr2qg",
                "confirmedCases": 20555,
                "casesOnAdmission": 934,
                "discharged": 19414,
                "death": 207
            },
            {
                "state": "FCT",
                "_id": "QFlGp4md3y",
                "confirmedCases": 5910,
                "casesOnAdmission": 542,
                "discharged": 5289,
                "death": 79
            }
        ]
    }
}

标签: javascriptarraysjsondestructuring

解决方案


您显示的是 JSON 格式的字符串。您可以将其转换为 JavaScript 对象,然后开始从中获取所需的值。

let str = ‘{
    "data": {
        "totalSamplesTested": "578841",
        "totalConfirmedCases": 61307,
        "totalActiveCases": 3627,
        "discharged": 56557,
        "death": 1123,
        "states": [
            {
                "state": "Lagos",
                "_id": "O3F8Nr2qg",
                "confirmedCases": 20555,
                "casesOnAdmission": 934,
                "discharged": 19414,
                "death": 207
            },
            {
                "state": "FCT",
                "_id": "QFlGp4md3y",
                "confirmedCases": 5910,
                "casesOnAdmission": 542,
                "discharged": 5289,
                "death": 79
            }
        ]
    }
} ‘;

(注意,我已将字符串放在单引号中,以便可以在此处正确显示,但在您的代码中,您需要将其放在反引号中,以便它可以跨越多行)

现在将其转换为 JavaScript 对象。

让 obj = JSON.parse(str);

现在仔细查看字符串以了解对象的结构。它实际上只有一项,数据。这本身就是一个包含多个项目的对象,其中一个是数组状态。

因此,obj.data.states[0] 是数组的第一个条目。那是一个对象,有 _id 和状态项。

您可以逐步通过数组提取 ._id 和 .state 条目。


推荐阅读