javascript - 关于json中获取多个key-value对中多层嵌套key的name

查看:147
本文介绍了javascript - 关于json中获取多个key-value对中多层嵌套key的name的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

{
  "RuntimeSources": {
    "flask-webapp": {
      "eb-flask1.3": {
        "s3url": ""
      }
    }
  },
  "DeploymentId": 4,
  "Serial": 4
}

有这样一个json文件, 我现在我需要提取出flask-webapp这个key的name,即flask-webapp这个字符串本身,我应该如何使用呢?使用Object.keys()的话我得到的是RuntimeSource,DeploymentId和Serial这三个key。
感觉自己描述的有些复杂,问题提炼一下就是:如何提取这个json文件的第一个key-value中的下一层key-value中的key(好像说的更复杂了。。希望能看懂吧)
用python或者javascript实现都可以

解决方案

function getFirstKeyInLevel(json, level) {
    var levelNow = 0;
    var key;
    var obj = json;
    do {
        key = Object.keys(obj)[0];
        levelNow++;
        obj = obj[key];
    } while (key && levelNow < level);
    return key;
}
var json = {
    'RuntimeSources': {
        'flask-webapp': {
            'eb-flask1.3': {
                's3url': ''
            }
        }
    },
    'DeploymentId': 4,
    'Serial': 4
};

console.log(getFirstKeyInLevel(json, 1)); // RuntimeSources
console.log(getFirstKeyInLevel(json, 2)); // flask-webapp
console.log(getFirstKeyInLevel(json, 3)); // eb-flask1.3
console.log(getFirstKeyInLevel(json, 4)); // s3url
console.log(getFirstKeyInLevel(json, 5)); // undefined

这篇关于javascript - 关于json中获取多个key-value对中多层嵌套key的name的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆