从未知json结构中提取所有json键

Extract all json key from unknown json structure

本文关键字:json 提取 未知 结构      更新时间:2023-09-26

我是一个算法的问题,我想知道所有的关键(嵌套对象,对象数组)从一些json(未知结构)文件在一个数组。

{
  "key": "value to array",
  "key": [{
    "key": {
     "key": "value"
     "key": ["value", "value", "value", {"key":"value"}]
    }
  }]
}

结构可以改变

Function(object) {
  var array_of_all_key = []
  return array_of_all_key
}
function allKeys(object) {
  Object.keys(object).reduce((keys, key) => {
 if(typeof object[key] == 'object') {
   allKeys(object[key])
 }
 if(tags[key founded on json]) {
   // my global var
   tags[key] = tags[key] + 1
 }
  });
}

使用Object.keys

var obj = {
  key1: 'foo',
  key2: 'bar'
};
var keys = Object.keys(obj);
//keys === ['key1', 'key2'];

只用Object.keys和递归函数。

function allKeys(object) {
  return Object.keys(object).reduce((keys, key) => 
    keys.concat(key, 
      typeof object[key] === 'object' ? allKeys(object[key]) : []
    ), 
    []
  );
}