为了账号安全,请及时绑定邮箱和手机立即绑定

查找与JSON中的特定键值对匹配的给定格式的正则表达式

查找与JSON中的特定键值对匹配的给定格式的正则表达式

慕勒3428872 2021-05-07 14:23:42
'{“ id”:1,“ last”:“ Doe”,“ first”:“ John”,“ location”:{“ city”:“ Oakland”,“ state”:“ CA”,“ postalCode”:“ 94607“},” active“:true}','{” id“:2,” last“:” Doe“,” first“:” Jane“,” location“:{” city“:” San Francisco“, “ state”:“ WA”,“ postalCode”:“ 94105”},“ active”:false}','{“ id”:3,“ last”:“ Doe”,“ first”:“ Jane”,“ location“:{” city“:” San Francisco“,” state“:” CA“,” postalCode“:” 94105“},” active“:true}'我正在寻找包含'{“ id”:1}'的json包含。或者我正在寻找包含“'{“ location”:{“ state”:“ CA”},“ active”:true}'的json包含...同样...因此,对于'{“ id”:1}',它应该返回{{“ id”:1,“ last”:“ Doe”,“ first”:“ John”,“ location”:{“ city”:“ Oakland”,“ state”:“ CA”,“ postalCode”:“ 94607“},”活动“:true}对于'{“ location”:{“ state”:“ CA”},“ active”:true}',它应返回{“ id”:1,“ last”:“ Doe”,“ first”:“ John”,“ location”:{“ city”:“ Oakland”,“ state”:“ CA”,“ postalCode”:“ 94607 “},” active“:true} {” id“:3,” last“:” Doe“,” first“:” Jane“,” location“:{” city“:” San Francisco“,” state“: “ CA”,“ postalCode”:“ 94105”},“ active”:true}
查看完整描述

2 回答

?
哆啦的时光机

TA贡献1779条经验 获得超6个赞

试试这个: (.*"state":"CA".*"active":true.*)

演示:https : //regex101.com/r/hP6gS1/238

有用。

您可以根据需要更改标签名称和值。它提取您所需的JSON内容。


查看完整回答
反对 回复 2021-05-19
?
蝴蝶不菲

TA贡献1810条经验 获得超4个赞

Python版本


my_json = """[

    {

       "id": 1,

       "last": "Doe",

       "first": "John",

       "location": {

          "city": "Oakland",

          "state": "CA",

          "postalCode": "94607"

       },

       "active": true

    }, {

       "id": 2,

       "last": "Doe",

       "first": "Jane",

       "location": {

          "city": "San Francisco",

          "state": "WA",

          "postalCode": "94105"

       },

       "active": false

    }, {

       "id": 3,

       "last": "Doe",

       "first": "Jane",

       "location": {

          "city": "San Francisco",

          "state": "CA",

          "postalCode": "94105"

       },

       "active": true

    }

]"""


import json

my_list = json.loads(my_json)

result_list = list(filter(

        lambda d:

            d["id"] == 1 or \

            (d["location"]["state"] == "CA" and d["active"]),

        my_list

        ))


查看完整回答
反对 回复 2021-05-19
  • 2 回答
  • 0 关注
  • 324 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信