python - python中的嵌套if条件

标签 python json

我有一个场景,我需要检查下面 json 中的条件是否满足,然后执行某些操作。 这是我的json data

这是我要继续进行的条件:

循环遍历 json 并查找 active 的值,如果 active true 然后在同一父数组下查找 cls type 如果类型为 alpha1,则返回 eces 值(在本例中为 260551)test_CHECK 值。

如果在循环 json 后,active 的值不为 true,或者 active 的值为 true,但在 cls 下的同一父数组中> 类型不是 alpha1 然后打印 not found

这是我尝试过的,但它似乎没有进入循环。

for key in metadata:
    ev=key['eces']
    if key['active'] == 'true' and 'alpha1' in key['type']:
        print(ev, key['test_CHECK'])
    else:
        print("not found")

我看到的挑战是在循环整个 json 时验证同一对象下的 type = alpha1active = true 。 任何有关如何继续此处的帮助都会非常有用。

最佳答案

"cls": [
        {
            "c_id": 268897,
            "c_Address": {
                "test_CHECK": "passty",
                "testgama_URL": "https://testgama.com"
            },
            "address": "{world.com}",
            "name": "alpha",
            "type": "alpha1"
        }
    ]

数据在cls和ops问题中是不同的,test_CHECK字段是c_Address字典的一部分,所以如果我们使用该约定,那么我们可以使用两个 for 循环找到所需的值。一个 for 循环将在外部列表上迭代,另一个 for 循环将在 cls 列表上迭代。

found = False
for di in d:
    if di.get('active', False):
        for cl in di.get('cls', []):
            if cl.get('type') == 'alpha1':
                print(di['eces'], cl['c_Address']['test_CHECK'])
                found = True

if not found:
    print("Not found")

关于python - python中的嵌套if条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59491854/

相关文章:

python - 如何在 Mac OS 的 anaconda 中安装 caffe?

python - 显示表单内容而不是表单对象名称

python - 如何使用对象比较函数反转 heapq 堆中元素的顺序?

python - 寻找函数的最大值

python - 太空侵略者计划

Java jackson嵌入式对象反序列化

json - Swift 从应用程序包外部的文件中读取 json

json - 当键是非字符串对象时,是否可以将 .NET 字典 JSON 化?

java - 使用 Spring Boot、fasterxml jackson 和 @OneToMany 注释将集合添加到 JSON 响应

json - 从编码结构 Golang 中删除转义字符