获取JavaScript中json的数据类型

获取JavaScript中json的数据类型,javascript,json,types,Javascript,Json,Types,嗨,我有一个低于json的值 { "item": [ { "id": "0001", "data": { "data1": [ { "data2": [ { "id": "5001", "type": "None", "dummyData": [

嗨,我有一个低于json的值

    {
  "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中对象键的路径