Javascript 基于一个键值访问JSON对象

Javascript 基于一个键值访问JSON对象,javascript,json,node.js,Javascript,Json,Node.js,我有传入的json对象。我想做的是根据JSON的键过滤它。例如,我有三个传入的json对象 Sending message: {"deviceId":"test","temperature":11,"latitude":50,"longitude":19,"time":1,"id":398} Sending message: {"deviceId":"temp","temperature":11,"latitude":50,"longitude":19,"time":1,"id":399}

我有传入的json对象。我想做的是根据JSON的键过滤它。例如,我有三个传入的json对象

Sending message: {"deviceId":"test","temperature":11,"latitude":50,"longitude":19,"time":1,"id":398}

Sending message: {"deviceId":"temp","temperature":11,"latitude":50,"longitude":19,"time":1,"id":399}

Sending message: {"deviceId":"temp","temperature":11,"latitude":50,"longitude":19,"time":1,"id":400}

Sending message: {"deviceId":"test","temperature":11,"latitude":50,"longitude":19,"time":1,"id":01}

Sending message: {"deviceId":"temp","temperature":11,"latitude":50,"longitude":19,"time":1,"id":402}
我只想要那些deviceid为test而不是temp的json对象。我正在尝试过滤JSON。我怎样才能做到这一点?

我建议您使用图书馆


我给你举个例子

假设你有一张

let obj = {
    "deviceId":"test",
    "temperature":11,
    "latitude":50,
    "longitude":19,
    "time":1,
    "id":398
}
然后您可以通过
obj['deviceId']

for (let index in listOfObj){

    let curObj = listOfObj[index];

    if(curObj['deviceId'] === 'test'){
        //Do whatever you want with the object
    }
}

假设您的对象位于数组中,您可以使用本机Javascript方法实现这一点


这是一个基本示例,描述了如何检查设备ID是“test”还是“temp”,在此基础上,可以在对象键上运行循环,并对其应用任何逻辑

希望这有帮助

document.addEventListener(“DOMContentLoaded”,函数(e){
var obj={
“设备ID”:“测试”,
“温度”:11,
“纬度”:50,
“经度”:19,
"时间":1,,
“身份证”:398
}
如果(obj[“设备ID”]=“测试”){
Object.key(obj.forEach)(函数(e){
警报(e+“”+obj[e]);
})
}

})
它是以对象数组的形式出现的吗?如果不将这些对象推送到ana数组中,然后使用arryfilter原型在数组中进行过滤,则首先将JSON字符串解析为javascript对象。。。然后像其他对象一样使用javascript对象,即检查
obj.deviceId==“test”
——在这种情况下,JSON字符串被解析为一个名为
obj
的对象,您迄今为止尝试了哪些代码?根据json进入脚本的方式,过滤方法会有所不同。@JaromandaX是的,现在在我应用这个条件后,如何基于该值“test”返回或打印整个json对象?我不知道,因为你的代码不好,为什么要在本机javascript数组已经有了过滤方法的情况下使用库呢?这是因为Lodash(或下划线)对于在javascript中操作数据对象非常有用,特别是对于新的学习者。对于在javascript中操作数据对象,特别是对于新的学习者,Activity javascript也非常有用
for (let index in listOfObj){

    let curObj = listOfObj[index];

    if(curObj['deviceId'] === 'test'){
        //Do whatever you want with the object
    }
}
var arr = [
    {"deviceId":"test","temperature":11,"latitude":50,"longitude":19,"time":1,"id":398},
    {"deviceId":"temp","temperature":11,"latitude":50,"longitude":19,"time":1,"id":399},
    {"deviceId":"temp","temperature":11,"latitude":50,"longitude":19,"time":1,"id":400},
    {"deviceId":"test","temperature":11,"latitude":50,"longitude":19,"time":1,"id":01},
    {"deviceId":"temp","temperature":11,"latitude":50,"longitude":19,"time":1,"id":402}
];

var results = arr.filter(function(obj) {
    // Return true to keep the element
    return obj.deviceId === "test";
});

console.log(results);