获取JavaScript中json的数据类型
嗨,我有一个低于json的值获取JavaScript中json的数据类型,javascript,json,types,Javascript,Json,Types,嗨,我有一个低于json的值 { "item": [ { "id": "0001", "data": { "data1": [ { "data2": [ { "id": "5001", "type": "None", "dummyData": [
{
"item": [
{
"id": "0001",
"data": {
"data1": [
{
"data2": [
{
"id": "5001",
"type": "None",
"dummyData": [
{
"data3": "5001",
"data4": [
{
"data5": "5001"
}
]
}
]
}
]
}
]
}
}
]
}
我需要在json对象中找到jsonpath A和键的数据类型。(即)item的jsonpath将是item=item,数据类型将是item=json对象数组。我能够找到jsonpath。下面是我的代码
var data={"item":[{"id":"0001","data":{"data1":[{"data2":[{"id":"5001","type":"None","dummyData":[{"data3":"5001","data4":[{"data5":"5001"}]}]}]}]}}]}
var keys = new Array();
keys = getKeys(keys, data, '');
console.log("key"+keys)
function getKeys(keys, obj, path) {
for (key in obj) {
var currpath = path + '.' + key;
keys.push([key, currpath]);
if (typeof(obj[key]) === 'object') {
if (obj[key] instanceof Array) { //added check for array
getKeys(keys, obj[key][0], currpath + '[]');
}
else
getKeys(keys, obj[key], currpath);
}
}
var jsonPath=[];
for (var i = 0; i < keys.length; i++) {
var json = new Array();
json = keys[i][1].replace(/^\.|\.$/g, '')
jsonPath[jsonPath.length]= keys[i][0] + '=' + json
}
return jsonPath;
var data={“item”:[{“id”:“0001”,“data”:{“data1”:[{“data2”:[{“id”:“5001”,“type”:“None”,“dummyData”:[{“data3”:“5001”,“data4”:[{“data5”:“5001”}]}]}}}
var keys=新数组();
keys=getKeys(键,数据“”);
console.log(“键”+键)
功能获取键(键、对象、路径){
用于(输入obj){
var currpath=path+'.'+键;
按键。按([key,currpath]);
if(类型(对象[键])==“对象”){
if(obj[key]instanceof Array){//添加了数组检查
getkey(key,obj[key][0],currpath+'[]');
}
其他的
getKeys(keys,obj[key],currpath);
}
}
var jsonPath=[];
对于(变量i=0;i
}
这里控制台键打印所有键的jsonpath。我需要找到数据类型。我被困在这里,任何帮助都将不胜感激。XPath用于XML,而不是JSON或JavaScript结构。抱歉,我指的是JSON中对象键的路径