簡體   English   中英

使用IF語句搜索json文件

[英]Use IF statement to search json file

我需要搜索此json文件並僅打印Y狀態的peole:

[[{"Name": "person1", "Status": "Y"}], [{"Name": "person2", "Status": "N"}], [{"Name": "person3", "Status": "Y"}]]

我可以打開文件並顯示數據,但是需要在其中搜索。 有人可以幫我完成這個陳述嗎? 需要看一下鍵值嗎? 狀態並僅打印帶有Y的兩個人

for name in OpenFile:
                    **# if Status == Y  what do I do here? :**
                        print ("Name : " +name[i]['Name'])
                        print ("Status : " +name[i]['Status'])

您需要遍歷列表,從中提取字典並檢查鍵“狀態”:

for element in OpenFile:
    ele = element[0]  # grab the dict
    if ele.get('Status') == 'Y':
        print 'Name: {}'.format(ele.get('Name')
        print 'Status: {}'.format(ele.get('Status')

您的OpenFile對象是列表列表,位於dict結構中。 因此,您要處理列表中的第一個對象(即字典),然后執行檢查。 您可以使用ele.get()

看起來您正在引用[i],而name是您的迭代器。 將其更改為如下所示:

for name in OpenFile:
                    **# if Status == Y  what do I do here? :**
                        print ("Name : " +name['Name'])
                        print ("Status : " +name['Status'])

同時,您的json格式的數據看起來像這樣的格式: List[list[dict],list[dict],list[dict],]因此僅導航到Name值是這樣的:

print(OpenFile[0][0]['Name'])

嘗試返回是否為person1,然后基於此下一個if語句。

其他調試工具:使用type()來確定json的格式:

type(OpenFile)
type(OpenFile[0])
type(OpenFile[0][0]) 

等等,請使用錯誤找出json的格式

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM