Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/470.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 获取JSON对象内部的typeof元素_Javascript_Jquery_Html_Json_Object - Fatal编程技术网

Javascript 获取JSON对象内部的typeof元素

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"

我有一个JSON文件,在@supercol的帮助下,我能够获得每个文件的密钥名。我希望能够获得值的类型

JSON结构:

[
    {
        "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()
的。