Принимает на вход файл 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(). А дальше там могут быть вложены единичные элементы, словари или списки, их тоже надо перебрать.

→ Ссылка