python - 检查给定值是否在嵌套字典中

标签 python json dictionary

我有这个结构,使用json.load(json)转换

jsonData = [ { 
thing: [
    name: 'a name',
    keys: [
        key1: 23123,
        key2: 83422
    ]
thing: [
    name: 'another name',
    keys: [
        key1: 67564,
        key2: 93453
    ]
etc....
} ]

我有key1check = 67564, 我想检查某个事物的 key1 是否与该值匹配

if key1check in val['thing']['keys']['key1'] for val in jsonData:
    print ('key found, has name of: {}'.format(jsonData['thing']['name'])

这应该有效吗?有更好的方法吗?

最佳答案

不完全是:

  1. in 用于包含在序列中,例如字符串或列表。您正在比较整数值,因此您需要一个简单的 ==
  2. 你给定的结构不是合法的Python:你在想要字典的几个地方都有括号;你需要的是大括号。

否则,你做得很好......但你不应该问我们它是否有效:通过运行代码询问Python解释器。

尝试一下你的结构:

jsonData = [ 
{ "thing": {
    "name": 'a name',
    "keys": {
        "key1": 23123,
        "key2": 83422
    } } },
{ "thing": {
    "name": 'another name',
    "keys": {
        "key1": 67564,
        "key2": 93453
    } } }
] 

关于python - 检查给定值是否在嵌套字典中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43483690/

相关文章:

python - Pandas 在 1 个图的 11 个图中绘制 22 个系列

javascript - 有人可以解释一下如何像我五岁一样进行 JSONP 调用吗?

java - 单击 : read the field name and print it out in TOAST

c++ - 使用字符串和枚举映射时,Switch执行第一种情况而不是默认情况

java - 从 map 中获取值(value)

python - 创建循环以在 scrapy/python 中解析表数据

python - 在 python 中将字符转换为对应的 ascii 字符的最简单方法是什么?

python - 有没有办法用Python在网页上模拟 "Select all - Copy - Paste"?

ruby - 如何在 Rhodes 中将字符串(ruby 哈希)解析为 JSON 或数组?

python - 如何计算与键关联的值的数量