在 json 请求中获取对象的 ID?

Get the id of an object in a json request?

所以我必须得到这个列表的第一个对象:

{
"2489": {
    "status": {
        "idstatus": "3",
        "status": "Sold"
    }
},

"2490": {
    "status": {
        "idstatus": "3",
        "status": "Sold"
    }
}

}

我事先不知道 ID ['2489'] 和 ['2490']。有时它只响应这些 ID 之一,有时响应 3 个或更多。

如何在不知道 ['2490'] 的情况下像 ['2490'].status.idstatus?

有几种方法可以做到这一点。如果你是 运行 现代 JS 环境,你可以使用 Object.keys or Object.values.

假设您的 JSON 响应对象是一个名为 res 的变量,您可以构造一个动态 ID 数组,如下所示:

const ids = Object.keys(res) // ["2489", "2490", ...]

如果您根本不关心 ID 并且想要一个包含所有内部对象的数组,试试这个:

const items = Object.values(res) // [ { "status" : ... }, ... ]

你可以使用 Object.valuesmap 或者如果你需要密钥你可以使用 Object.entries

const data = {
"2489": {
    "status": {
        "idstatus": "3",
        "status": "Sold"
    }
},

"2490": {
    "status": {
        "idstatus": "3",
        "status": "Sold"
    }
}
}

const statusIds = Object.values(data).map(d => d.status.idstatus)
console.log(statusIds)

const statusIdAndKey = Object.entries(data).map(([k, d]) => [k, d.status.idstatus])
console.log(statusIdAndKey)