第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在條件下使用 Python 解析/提取嵌套的 JSON 數(shù)據(jù)

在條件下使用 Python 解析/提取嵌套的 JSON 數(shù)據(jù)

慕桂英546537 2021-10-10 18:57:34
我正在嘗試從我執(zhí)行發(fā)布請求的 JSON 文件中的細(xì)節(jié)中提取/解析值。這是 JSON 文件。我試圖從鍵“AN”中獲取值。我希望能夠提取諸如“ shannoncampbell_znyq1 ”、“ katiekapprelmac ”等值,以便第二行中的值不等于數(shù)字零。例如,由于katiekapprelmac的第二行值(該行是T7)不等于零,我的代碼應(yīng)該將其吐出(katiekapprelmac應(yīng)該是輸出)。然而事實(shí)并非如此。JSON 文件:{"id": "jsonrpc","jsonrpc": "2.0","result": {    "result": [        {            "AccountId": 697429,            "Flags": [                "AutoDeployed"            ],            "PartnerId": 287562,            "Settings": [                {                    "AN": "shannoncampbell_znyq1"                },                {                    "T7": "0"                }            ]        },        {            "AccountId": 725177,            "Flags": null,            "PartnerId": 287562,            "Settings": [                {                    "AN": "katiekapprelmac"                },                {                    "T7": "5"                }            ]        },        {            "AccountId": 689130,            "Flags": [                "AutoDeployed"            ],            "PartnerId": 287562,            "Settings": [                {                    "AN": "sara-pc_wpv7h"                },                {                    "T7": "0"                }            ]        },        {            "AccountId": 697531,            "Flags": null,            "PartnerId": 287562,            "Settings": [                {                    "AN": "kaelaweeksmac"                },                {                    "T7": "0"                }            ]        },        {            "AccountId": 615877,            "Flags": null,            "PartnerId": 249098,            "Settings": [                {                    "AN": "elenimacbookpro"                },                {                    "T7": "0"                }            ]        },
查看完整描述

2 回答

?
拉丁的傳說

TA貢獻(xiàn)1789條經(jīng)驗(yàn) 獲得超8個贊

jsonpath-ng 可以幫助您解決這個問題。


from jsonpath_ng.ext import parse


found = parse(f"$..Settings").find(data)

if found:

    for i in found:

        if ''.join(i.value[1].values()) != '0':

            print(i.value[0]['AN'])


查看完整回答
反對 回復(fù) 2021-10-10
?
慕娘9325324

TA貢獻(xiàn)1783條經(jīng)驗(yàn) 獲得超4個贊

在代碼中:


for each in j['result']['result']:

if (find_only(each['Settings'][1], 0)) != json.loads("0"):

    find_all(each['Settings'][0], 0)

我實(shí)際上看到,您的情況始終是True,因?yàn)槟鷽]有返回任何東西find_only()。


我不知道,你為什么要使用 level 和這么多遞歸函數(shù)。雖然根據(jù)您發(fā)布的數(shù)據(jù)很容易提取結(jié)果。請找到下面的代碼。


response2 = requests.request("POST", url, data=payload2, headers=headers)

j = json.loads(response2.text)

for each in j['result']['result']:

if each['Settings'][1]['T7'] not in ["0", 0]:

    print(each['Settings'][0]['AN'])

如果您的響應(yīng)數(shù)據(jù)不太復(fù)雜,請發(fā)布確切的解決方案。


如果您有多個鍵名,請查看以下代碼:


response2 = requests.request("POST", url, data=payload2, headers=headers)

j = json.loads(response2.text)


def find_all(item):

    if isinstance(item, dict):

        for k in item:

            return item[k]

    # If item is non dict and you want to return this as well on `True`.

    # Uncomment below commented lines.

    # else:

    #     item

def find_only(item):

    if isinstance(item, dict):

        for k in item:

            return item[k]


for each in j['result']['result']:

    if (find_only(each['Settings'][1])) != str(json.loads("0")):

        print(find_all(each['Settings'][0]))


查看完整回答
反對 回復(fù) 2021-10-10
  • 2 回答
  • 0 關(guān)注
  • 265 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號