开发者社区> 问答> 正文

如何使用正则表达式提取JSON对象的值

我有一个JSON字符串。我想提取我的正则表达式的匹配值。

{
    "EX1": {
        "Test1": {
            "Fruit": "Apple"
        },
        "Test2": {
            "vegetable": "Tomato"
        },
        "Test3": {
            "SoftDrink": "Pepsi"
        }
    },
    "EX2": {
        "Test1": {
            "Fruit": "Apple"
        },
        "Test2": {
            "vegetable": "Tomato"
        },
        "Test3": {
            "SoftDrink": "Pepsi"
        }
    }
}

我想传递一个正则表达式,例如“ * Test3.SoftDrink”,它必须搜索两个JSON对象,并且必须以百事可乐形式EX1和EX2返回值。

预期产量:

百事可乐

问题来源:stackoverflow

展开
收起
is大龙 2020-03-24 22:50:22 2095 0
2 条回答
写回答
取消 提交回答
  • 有点尴尬唉 你要寻找的东西已经被吃掉啦!

    from json import loads

    json = """{ "EX1": { "Test1": { "Fruit": "Apple" }, "Test2": { "vegetable": "Tomato" }, "Test3": { "SoftDrink": "Pepsi" } }, "EX2": { "Test1": { "Fruit": "Apple" }, "Test2": { "vegetable": "Tomato" }, "Test3": { "SoftDrink": "Pepsi" } } }"""

    d = loads(json)

    for key in d: print(d[key]['Test3']['SoftDrink'])

    2020-03-25 22:26:09
    赞同 展开评论 打赏
  • 除了使用正则表达式,您还可以使用json.loads将JSON反序列化为dict`,然后直接访问成员:

    from json import loads
    
    json = """{
        "EX1": {
            "Test1": {
                "Fruit": "Apple"
            },
            "Test2": {
                "vegetable": "Tomato"
            },
            "Test3": {
                "SoftDrink": "Pepsi"
            }
        },
        "EX2": {
            "Test1": {
                "Fruit": "Apple"
            },
            "Test2": {
                "vegetable": "Tomato"
            },
            "Test3": {
                "SoftDrink": "Pepsi"
            }
        }
    }"""
    
    d = loads(json)
    
    for key in d:
        print(d[key]['Test3']['SoftDrink'])
    

    输出:

    Pepsi
    Pepsi
    

    您也可以不循环而直接打印它们:

    print(d['EX1']['Test3']['SoftDrink'])
    # Pepsi
    
    print(d['EX2']['Test3']['SoftDrink'])
    # Pepsi
    

    回答来源:stackoverflow

    2020-03-24 22:50:31
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载