Py学习  »  Python

无法使用python从json文件打印项

Atilla • 6 年前 • 1675 次点击  

有人能帮我解决这个问题吗?

我的代码:

with open('data.json', 'r') as f:  
    r107sData = json.load(f)  

for r107s in r107sData:  

    print(r107s['feedback'][0])

JSON模式:

https://pastebin.com/CBEy8hUG

误差;

’’ 回溯(最近一次呼叫时间): 文件“api.py”,第39行,in 打印(r107s['feedback'][0]) KeyError:0

谢谢朋友们! 我已经解决了这个问题

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/43252
 
1675 次点击  
文章 [ 3 ]  |  最新文章 6 年前
jar
Reply   •   1 楼
jar    6 年前

仔细看,json是一个列表或数组。字典元素就在里面。你反而会 r107s['feedback'] 像-

import json
with open('tmp.txt', 'r') as f:
    r107sData = json.load(f)

for r107s in r107sData:
    print(r107s['feedback'])

输出:

{'sos_signal': 'S0s Signal'}
{'goodfeedback': 'Good feedback'}
{'badfeedback': 'Bad feedback'}
{'sos_signal': 'S0s Signal'}
Rishi Bansal
Reply   •   2 楼
Rishi Bansal    6 年前

请使用“求救信号”

#!/usr/bin/python

import json


with open('sample.json', 'r') as f:
    r107sData = json.load(f)

for r107s in r107sData:

    print(r107s['feedback']['sos_signal'])

请注意我的json文件名有点不同

Vikrant Sharma
Reply   •   3 楼
Vikrant Sharma    6 年前

0 不作为密钥存在于 r107s['feedback'] sos_signal 做。

如果 r107s[“反馈”] 是一张单子,然后 r107s['feedback'][0] 会给你第一个元素。

所以 r107s['feedback']['sos_signal'] 会给你 "sos" .