[英]I am trying to parse information from a JSON URL file using two user inputs from python
[英]I am trying to print information from a json file with python
我有這個 .JSON 文件,它告訴我們學校一周內會有什么食物。(對不起,它是瑞典語)
這是JSON文件
{
"feedbackAllowed": "True",
"weeks": [
{
"days": [
{
"date": 1647820800,
"items": [
"Korv Stroganoff serveras med ris",
"Vegetarisk Stroganoff med sojakorv serveras ris"
]
},
{
"date": 1647907200,
"items": [
"Pasta serveras med laxsås",
"Vegetarisk pastasås"
]
},
{
"date": 1647993600,
"items": [
"Morotslasagne med keso och soltorkad tomat",
"Kökets klimatsmarta rätt ( vegetarisk lasagne)"
]
},
{
"date": 1648080000,
"items": [
"Het kycklingsoppa serveras med mjukt bröd och ost samt frukt",
"Vegetarisk nudelsoppa serveras med mjukt bröd och ost samt frukt"
]
},
{
"date": 1648166400,
"items": [
"Quorngryta med chili serveras med ris",
"Kökets klimatsmarta rätt"
]
}
],
"number": 12,
"year": 2022
}
],
"school": {
"URLName": "XXX",
"id": 000,
"district": {
"province": {
"URLName": "XXX",
"id": 000,
"name": "XXX"
},
"URLName": "XXX",
"id": 000,
"name": "000"
},
"name": "000"
},
"id": 000,
"bulletins": [
{
"text": "XXX"
}
]
}
我正在尋找的是一種僅從 JSON 文件中打印出“項目”(所有項目)的方法。 我看過很多教程,但我不斷收到以下錯誤:
TypeError: '_io.TextIOWrapper' object is not callable
等等
我試過用這個
import json
with open('filename.json', 'r') as input:
obj = json.load(input)
#make it a string the item is the first one
#cool
print(str(obj['items']))
但我收到了這個錯誤:
KeyError: 'items'
你必須循環所有的幾周和幾天。
for week in obj['weeks']:
for day in week['days']:
print(day['items'])
因此,您嘗試訪問的items
屬性深深嵌套在 JSON 結構中。 正如 Barmar 正確指出的那樣,您必須首先進入 week 數組,然后是每周內的 days 數組,以便訪問具有“items”屬性的對象。
obj > 周 > 天 > 項目
For 循環將是您打印出這些屬性的最佳朋友。
我能夠像這樣訪問它們。 只需瀏覽字典和列表
for i in range(len(obj['weeks'][0]['days'])):
print(obj['weeks'][0]['days'][i]['items'])
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.