如何在PYTHON中导入到json中[已关闭]

6kkfgxo0  于 2023-03-09  发布在  Python
关注(0)|答案(1)|浏览(171)

**已关闭。**此问题需要debugging details。当前不接受答案。

编辑问题以包含desired behavior, a specific problem or error, and the shortest code necessary to reproduce the problem。这将有助于其他人回答问题。
19小时前关门了。
Improve this question
我想部署这个变量

server_json = { "database_count": f"{db_count}",
               f"{ctx.message.guild.id}#{db_count}": {
                   f'{all_variables}'
               }
               }

到json文件
我尝试使用json.dumps,但是当我把它转换成python字符串时,它说格式是错误的。

f""

用来粘贴变量。
如果使用json.loads,则无法正常工作,因为存在另一个错误,如:

python JSON object must be str, bytes or bytearray, not 'dict
qni6mghb

qni6mghb1#

要从python字典创建JSON字符串,请使用json.dumps()

import json

json_string = json.dumps(server_json)

如果要从python字典直接创建JSON文件,请使用json.dump()

import json

with open("/path/to/my_json_target_file", "w") as json_file:
    json.dump(json_file, server_json)

在您最初的帖子中,您将第二个键的值存储为一个集合,集合是不可JSON序列化的。

server_json = { "database_count": f"{db_count}",
               f"{ctx.message.guild.id}#{db_count}": {
                   f'{all_variables}'
               }
               }

我怀疑这是一个错字,所以要绕过这个问题,你可以删除设置:

server_json = {"database_count": f"{db_count}",
               f"{ctx.message.guild.id}#{db_count}":
                   f'{all_variables}'
              }

或者(正如您在原始帖子的评论中提到的),您可以使用默认参数将非JSON可序列化元素转换为使用default=str的字符串。

json.dumps(server_json, default=str)

我还注意到您混淆了JSON转储和加载,仅供参考dump用于保存JSON对象,load用于加载JSON对象,dumpload还具有免费的dumpsloads函数,s代表'string'。它们用于在JSON对象和字符串之间直接工作,而无需写入或阅读文件系统。

相关问题