我正在尝试使用提取查询从JSON文件中查找一些特定数据,到目前为止我的代码如下:
function newfuntion() {
var my_list = []
fetch("url")
.then(res => res.json())
.then(data => {
x= data.mydata.filter(el => el.Process==="process1")
myvar = x.Shortnum
console.log(myvar)
})
}
我的问题是我将myvar
定义为shortnum
,它无法将查询范围缩小到Shortnum
。
如果我在没有.shortnum
过滤器的情况下运行此程序,它将正常工作。即console.log(x)
将返回进程为process1
的字典。
以下是JSON文件的示例:
{
"mydata": [
{
"Process": "process1",
"Shortnum": "00000",
"Status": 1,
}
]
}
答案 0 :(得分:4)
filter
返回一个数组。您想要的可能是第一个(唯一?)匹配对象。
您可以改用find
:
let x = data.mydata.find(el => el.Process==="process1")
let myvar = x.Shortnum
console.log(myvar)