簡體   English   中英

無法使用python從json文件打印項目

[英]can not print item from json file with python

有人可以幫我解決這個問題嗎?

我的代碼:

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 行,打印中(r107s['feedback'][0])KeyError: 0

謝謝朋友! 我已經解決了這個問題

仔細看,你的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'}

0不作為r107s['feedback']字典中的鍵存在,但sos_signal存在。

如果r107s['feedback']是一個列表,那么r107s['feedback'][0]會給你第一個元素。

所以r107s['feedback']['sos_signal']會給你"sos"

請使用“sos_signal”

#!/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 文件名有點不同

暫無
暫無

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

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