簡體   English   中英

Python讀取JSON值,錯誤

[英]Python reading JSON value, error

我有簡單的JSON,之后我正在讀取其中的值。

這是一個代碼:

 for row in returned_data['devices']:
     print (row['version'])

腳本打印所有“版本”值,最后顯示

Traceback (most recent call last):
  File "api.py", line 370, in <module>
    main(sys.argv[1:])
  File "api.py", line 71, in main
    print (row['version'])
KeyError: 'version'

為什么?

如果您需要每一行都包含鍵version ,則您的字典中有一個錯誤,因為該異常表明存在缺少該鍵的一行。

在這種情況下,您必須檢查詞典錯誤的原因。

否則,如果僅某些行包含version並且您不需要每一行都具有此鍵,則可以使用.get()函數來解決此錯誤,如下所示:

for row in returned_data['devices']:
    print (row.get('version'))

這將為每行打印版本,其中包含鍵,對於沒有version行則包含None。

您可以做的另一件事是使用try...except...

for row in returned_data['devices']:
    try:
        print (row['version'])
    except KeyError:
        print ("row does not contain 'version'")

暫無
暫無

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

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