Javascript 获取JSON对象内部的typeof元素
我有一个JSON文件,在@supercol的帮助下,我能够获得每个文件的密钥名。我希望能够获得值的类型 JSON结构:Javascript 获取JSON对象内部的typeof元素,javascript,jquery,html,json,object,Javascript,Jquery,Html,Json,Object,我有一个JSON文件,在@supercol的帮助下,我能够获得每个文件的密钥名。我希望能够获得值的类型 JSON结构: [ { "id": 1536700, "title": "final_output", "error": "", "data": [ { "metric": 4940616.0, "title": "d_revenue"
[
{
"id": 1536700,
"title": "final_output",
"error": "",
"data": [
{
"metric": 4940616.0,
"title": "d_revenue"
},
{
"metric": 5132162.0,
"title": "p_revenue"
},
{
"metric": 4954576.0,
"title": "s_revenue"
},
{
"metric": 4882217.0,
"title": "u_revenue"
},
{
"metric": 4869609.0,
"title": "t_revenue"
},
{
"metric": 5075422.0,
"title": "w_revenue"
},
{
"metric": 4461996.0,
"title": "v_revenue"
}
]
}
]
[
{
"run_id": 1536700,
"code_title": "select_data",
"error": "",
"data": [
{
"user_name": "C_51",
"num1": 51,
"num2": 101,
"num3": 151
},
{
"user_name": "H_51",
"num1": 51,
"num2": 101,
"num3": 151
},
{
"user_name": "C_52",
"num1": 52,
"num2": 102,
"num3": 152
},
{
"user_name": "H_52",
"num1": 52,
"num2": 102,
"num3": 152
},
{
"user_name": "C_53",
"num1": 53,
"num2": 103,
"num3": 153
}
]
}
]
下一个结构:
[
{
"id": 1536700,
"title": "final_output",
"error": "",
"data": [
{
"metric": 4940616.0,
"title": "d_revenue"
},
{
"metric": 5132162.0,
"title": "p_revenue"
},
{
"metric": 4954576.0,
"title": "s_revenue"
},
{
"metric": 4882217.0,
"title": "u_revenue"
},
{
"metric": 4869609.0,
"title": "t_revenue"
},
{
"metric": 5075422.0,
"title": "w_revenue"
},
{
"metric": 4461996.0,
"title": "v_revenue"
}
]
}
]
[
{
"run_id": 1536700,
"code_title": "select_data",
"error": "",
"data": [
{
"user_name": "C_51",
"num1": 51,
"num2": 101,
"num3": 151
},
{
"user_name": "H_51",
"num1": 51,
"num2": 101,
"num3": 151
},
{
"user_name": "C_52",
"num1": 52,
"num2": 102,
"num3": 152
},
{
"user_name": "H_52",
"num1": 52,
"num2": 102,
"num3": 152
},
{
"user_name": "C_53",
"num1": 53,
"num2": 103,
"num3": 153
}
]
}
]
使用Object.keys(您的对象)获取密钥
$.getJSON(api, function(elem) {
let keys=elem.map( structure => Object.keys(structure.data[0]))
});
运行以下代码段以检查它是否有效
let ele=[{“id”:1536700,“title”:“final_output”,“error”:”,
“数据”:[{“公制”:4940616.0,“标题”:“杜邦收入”},{“公制”:5132162.0,“标题”:“杜邦收入”},{“公制”:4954576.0,“标题”:“杜邦收入”},{“公制”:4882217.0,“标题”:“杜邦收入”},{“公制”:4869609.0,“标题”:“杜邦收入”},{“公制”:5075422.0,“标题”:“杜邦收入”},{“杜邦收入”},{“公制”:4461996.0,“杜邦收入”}
]
},
{“运行id”:1536700,“代码标题”:“选择数据”,“错误”:“”,
“数据”:[{“用户名”:“C_51”,“num1”:51,“num2”:101,“num3”:151},{“用户名”:“H_51”,“num1”:51,“num2”:101,“num3”:151},{“用户名”:“C_52”,“num1”:52,“num2”:102,“num3”:152},{“用户名”:“H_52”,“num1”:52,“num2”:102,“num3”:152},{“用户名”:“C_53”,“num1”:53,“num3”:103,“num3”:153}
]}]
log(ele.map(structure=>Object.keys(structure.data[0]))
log(ele.map(结构=>Object.values(结构.data[0]))
.as控制台包装{最大高度:100%!重要;顶部:0;}
let ele=[{“id”:1536700,“title”:“final_output”,“error”:“data”:[{“metric”:4940616.0,“title”:“d_revenue”},{“metric”:5132162.0,“title”:“p_revenue”},{“metric”:4954576.0,“title”:“s_revenue”},{“metric:4461996.0,“标题”:“v_revenue”},{“run_id”:1536700,“code_title”:“select_data”,“error”:“,”data:“{“user_name”:“C_51”,“num1”:51,“num2”:101,“user_name”:“H_51”,“num1”:51,“num2”:101,“num3”:151},{“user_name”:“C_52”,“num1”:52,“num2”:102,“num3”:152,{“user_name”,“num1”,“num1”,“num1”,“num1”:152”,“num1”,“num1”:52”,“num2”:“,”用户名,{:”“C_53”,“num1”:53,“num2”:103,“num3”:153}];
console.log(ele.map(structure=>Object.values(structure.data[0]).map(v=>typeof v));
通过Object.values(obj)执行map()
并使用typeof
value返回类型
let ele=[{“id”:1536700,“title”:“final_output”,“error”:”,
“数据”:[{“公制”:4940616.0,“标题”:“杜邦收入”},{“公制”:5132162.0,“标题”:“杜邦收入”},{“公制”:4954576.0,“标题”:“杜邦收入”},{“公制”:4882217.0,“标题”:“杜邦收入”},{“公制”:4869609.0,“标题”:“杜邦收入”},{“公制”:5075422.0,“标题”:“杜邦收入”},{“杜邦收入”},{“公制”:4461996.0,“杜邦收入”}
]
},
{“运行id”:1536700,“代码标题”:“选择数据”,“错误”:“”,
“数据”:[{“用户名”:“C_51”,“num1”:51,“num2”:101,“num3”:151},{“用户名”:“H_51”,“num1”:51,“num2”:101,“num3”:151},{“用户名”:“C_52”,“num1”:52,“num2”:102,“num3”:152},{“用户名”:“H_52”,“num1”:52,“num2”:102,“num3”:152},{“用户名”:“C_53”,“num1”:53,“num3”:103,“num3”:153}
]}]
console.log(“键是…”);
log(ele.map(structure=>Object.keys(structure.data[0]))
log(“其对应的值类型为…”);
log(ele.map(结构=>Object.values(结构.data[0]).map(值=>typeof值)))
.as控制台包装{max height:100%!important;top:0;}
Javascript是一种原型语言,因此您可以在js中的任何结构上使用构造函数.name
属性来查看它的类型
简单的例子:
const a={t:5,s:'',d:false,e:[],f:{},d:5.53};
for(让k在a中){
console.log(k,a[k].constructor.name);
}
保留键不是更有意义吗?@RoboRobok,你的意思是什么?你可以将其转换为一个对象,将其值替换为类型。虽然不确定你需要它做什么,但我几乎100%肯定你做了一些有趣的事。@Supercool对象键总是JavaScript中的字符串。ele.map(structure=>Object.values(structure.data[0]).map(v=>typeof v))
制作了一个代码片段并添加了密钥,因为它不登录ordermap将保证它。请记住,JavaScript并不保证在任何情况下对象属性的顺序。使用map将保证它@Supercol。map
不保证属性的顺序,它是调用object.values()
的。