#python #json #python-3.x
#python #json #python-3.x
Вопрос:
У меня есть серия файлов JSON в папке, которые выглядят следующим образом:
{
"details": {
"firstName": "Test",
"surname": "Testmaker",
"email": "test@testhealth.com",
"phone": null,
"organisation": "Test Health",
"department": "B Ward",
"persona": "Health professionals",
"address": {
"street": "137 Test Street",
"suburb": "Test Park",
"postcode": null
},
"questions": {
"iAmA": null,
"iWorkAtA": "Private Hospital",
"iAmSeekingFor": null,
"iAmAMemberOf": null,
"furtherInfoOptIn": null,
"newsletterOptIn": "false",
"privacyCollection": true
}
},
"orders": [
{
"name": "A Guide to Relaxation",
"quantity": 20
},
{
"name": "Guide to Coping with Testing",
"quantity": 20
}
]
}
Я пытаюсь выполнить итерацию по всем файлам JSON и напечатать название каждого заказа, а затем товары, которые заказал пользователь.
Я успешно распечатал полные названия всех заказов, используя следующее:
import os, json
ordersDirectory = "C:devcic\testing"
# json objects stored in multiple files, itterate over all of them
for filename in os.listdir(ordersDirectory):
with open(ordersDirectory '\' filename) as data_file:
dataset = json.load(data_file)
print(dataset["details"]["firstName"] " " dataset["details"]["surname"])
Теперь я хочу напечатать все заказы для этих имен, однако я изо всех сил пытаюсь понять, как я зацикливаюсь на объекте orders в созданном мной наборе данных. Предполагая, что следующее является псевдокодом, чему мне нужно научиться, чтобы заставить его работать?
import os, json
ordersDirectory = "C:devcic\testing"
# json objects stored in multiple files, itterate over all of them
for filename in os.listdir(ordersDirectory):
with open(ordersDirectory '\' filename) as data_file:
dataset = json.load(data_file)
print(dataset["details"]["firstName"] " " dataset["details"]["surname"])
# Broken pseudocode below
for items in dataset["orders"]:
print(items["orders"]["name"])
Ответ №1:
Вы были близки
for order in dataset["orders"]:
print(order["name"] ", quantity: " str(order["quantity"]))
Комментарии:
1. Ага, я тоже! Спасибо.