Python读取JSON值,错误

时间:2017-07-24 12:30:34

标签: python json

我有简单的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'

为什么?

1 个答案:

答案 0 :(得分:2)

如果你需要每一行都包含密钥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'")