Принимает на вход файл JSON и выводящую на экран содержимое структуры данных в виде ключ - значение
Написать программу на python, содержащую функцию, принимающую на вход файл JSON и выводящую на экран содержимое структуры данных в виде ключ - значение. В случае наличия в JSON вложенных структур, выводить их с отступом в символ табуляции. Есть json файл с названием bank.json с данными:
{
"name": "BankingBotRus",
"intents": [
{
"intent": "other",
"examples": [
{
"text": "Как подключить эту услугу?"
},
{
"text": "Вы дату пишите года?"
},
{
"text": "оплачивать коммунальные услуги через другой банк"
},
{
"text": "Сколько ещё ждать по моему вопросу ?"
},
{
"text": "Мне нужны мои деньги"
}
],
"description": "Риторические вопросы"
},
{
"intent": "credit",
"examples": [
{
"text": "скажите, кредит закрылся?"
},
{
"text": "Можно ли оплачивать кредит зачисляя деньги на карту с другой карты стороннего банка?"
},
{
"text": "Сообщите мне минимальный платёж ,который я должна на карту внести с учётом смс и тп"
},
{
"text": "Пришла смс о просроченной задолженности по кредиту.мне сказали спишут с карты"
}
],
"description": "Вопрос по погашению кредита"
},
{
"intent": "bonus",
"examples": [
{
"text": "бонусы сразу начислялись"
},
{
"text": "Добрый вечер. Нет хотел узнать до какого числа начисляются бонусы. Спасибо"
},
{
"text": "Добрый день?Подскажите пожалуйста как мне узнать бонусы как начисляются."
},
{
"text": "бонусы будут начисляться"
},
{
"text": "сколько у меня бонусов"
},
{
"text": "А как зарегистрировать баллы на этой карте?"
},
{
"text": "Здравствуйте А как начисляться бонус?"
}
],
"description": "Начисление бонусов"
},
{
"intent": "sms",
"examples": [
{
"text": "отключит смс информации?"
},
{
"text": "отключить смс рассылку?"
},
{
"text": "хочу выключить смс уведомления"
},
{
"text": "Как отключить смс инфо с карты"
},
{
"text": "Прошу отключить смс инфо"
},
{
"text": "Как отключить sms уведомления?"
},
{
"text": "надоели смс"
},
{
"text": "убрать смски"
},
{
"text": "Необходимо отключить смс уведомление"
},
{
"text": "Как отключить смс уведомление?"
},
{
"text": "Отключила!.Смс возобновятся?"
}
],
"description": "Отключить смс-информирование"
}
]
}
Я попробовал со следующим подходом но программа не может найти сам json файл в диске (macbook):
# Python program to read
# json file
import json
# Opening JSON file
f = open('bank.json',)
# returns JSON object as
# a dictionary
data = json.load(f)
# Iterating through the json
# list
for i in data['BankingBotRus']:
print(i)
# Closing file
f.close()
FileNotFoundError Traceback (most recent call last)
<ipython-input-45-c41aae82159e> in <module>()
FileNotFoundError: [Errno 2] No such file or directory: 'bank.json'
Ответы (1 шт):
Автор решения: CrazyElf
→ Ссылка
Берёте стандартную библиотеку json, читаете ей файл, получаете словарь. Далее перебираете элементы словаря, например, через for item in словарь.items(). А дальше там могут быть вложены единичные элементы, словари или списки, их тоже надо перебрать.