这是我的本地JSON文件(JsonData.json):
{
"Phone": [
{
"num": "phone1",
"name": "galaxy",
"temp": [
"5",
"6"
],
"id": 1
},
{
"num": "phone2",
"name": "iPhone",
"temp": [
"4",
"5",
"6"
],
"id": 2
},
…
],
"Computer": [
{
"num": "computer1",
"name": "Mac",
"temp": [
"1"
],
"id": 1
},
{
"num": "computer2",
"name": "Samsung",
"temp": [
"4"
],
"id": 2
},
…
]
}
我以这种方式导入了它(我一直在正确使用它):
var JsonData = require('./JsonData.json');
我想从电话和计算机数据中获取temp = "4"
时的名称(星系,iPhone ...)。
我如何获得它们?
答案 0 :(得分:0)
此代码将帮助您解析JSON
function loopObj(value, array){
let keyList = Object.keys(array)
var namesArray = []
for (var i = 0; i < keys.length; i++) {
let arrayVal = a[keys[i]];
for (var j = 0; j < arrayVal.length; j++) {
var innerArray = arrayVal[j]
if (innerArray.temp.indexOf(value) >= 0) {
namesArray.push(innerArray.name)
}
}
}
return(namesArray)
}
loopObj("4", a) // will give you the array ["iPhone", "Samsung"]
答案 1 :(得分:0)
尝试一下:
const newArray = [...JsonData["Phone"], ...JsonData["Computer"]];
const result = newArray.filter(item => {
if(item.temp.indexOf("4") !== -1) return item.name;
});
结果将是:[“ iPhone”,“ Samsung”]。