首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有没有一种方法可以将正确的json信息写入.json文件并在本地读取?

有没有一种方法可以将正确的json信息写入.json文件并在本地读取?
EN

Stack Overflow用户
提问于 2019-05-10 19:15:49
回答 1查看 33关注 0票数 0

我计划使用JSON文件作为一个简单的数据库,我试图添加到它的新条目,并尝试采取我的条目以后。

这是我的代码:

代码语言:javascript
复制
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信息中的信息!这就是我要说的:

代码语言:javascript
复制
with open('json_database.json') as json_1:
    result = json.load(json_1)
print(result['profile']['email'])

原因是什么?我该补充些什么呢?

我尝试过这段代码,但它会引发以下错误:

代码语言:javascript
复制
TypeError: list indices must be integers or slices, not str
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-05-10 19:35:48

您要写入json文件的基本项是一个列表,但您将它视为一个字典。它包含字典,但您必须像列表一样访问它:

代码语言:javascript
复制
print(result[0]['profile']['email'])
print(result[1]['profile']['email'])
# etc.
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56083628

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档