Есть ли способ записать информацию о json правильной формы в файл .json и прочитать ее локально? - PullRequest
0 голосов
/ 10 мая 2019

Я планирую использовать файл JSON в качестве простой базы данных, я пытаюсь добавить к нему новые записи и попытаться получить свои записи позже.

Это код, который у меня есть:

import json
import time

try:
    with open('json_database.json', 'r') as json_database:
        profiles = json.load(json_database)
except FileNotFoundError:
    profiles = []
while True:
    answer = input('list info (l), write info (w), new info (a)').lower()

    if answer == 'w':
        break
    elif answer == 'l':
        print(profiles)
    else:
        username = input('username: ')
        email = input('Email: ')
        rating = input('Rating: ')
        lichess_profiles.append({
        'profile':{
        'username': lichess_username,
        'email': email,
        'rating': rating
        }
        })
with open('json_database.json', 'w') as json_database:
    json.dump(profiles, json_database)

Теперь я хочу вызвать информацию из информации JSON!вот что я добавил:

with open('json_database.json') as json_1:
    result = json.load(json_1)
print(result['profile']['email'])

в чем причина этого?что я должен добавить?

я пробовал этот код, но он вызывает эту ошибку:

TypeError: list indices must be integers or slices, not str

1 Ответ

0 голосов
/ 10 мая 2019

Базовый элемент, который вы записываете в файл json, представляет собой список, но вы воспринимаете его как словарь. содержит словарей, но вы должны получить к нему доступ в виде списка:

print(result[0]['profile']['email'])
print(result[1]['profile']['email'])
# etc.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...