在 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.values
和 map
或者如果你需要密钥你可以使用 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)
所以我必须得到这个列表的第一个对象:
{
"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.values
和 map
或者如果你需要密钥你可以使用 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)