我的代码:
with open('music_queue.json', 'r') as f:
data = f.read()
list_str = data.split('n')
print(list_str)
db = []
for d in list_str:
db.append(json.loads(d))
我的原始JSON:
{"guild_id" : 00000, "song_list" : []}
我试过做:
data = data.replace('"', '\"')
只有我有这个错误:
Expecting property name enclosed in double quotes: line 1 column 2 (char 1)
我已经做了好几个小时了。怎么回事?
此外,如果已经得到答复,请表示歉意。我真的在这里找不到任何我还没有尝试过的东西。
json文件中的文本必须遵循json标准,00000(没有引号标记为字符串(不是有效值-请将其替换为0
或"00000"
。
当您打开一个有效的json文件时,您可以直接将内容加载到字典中,如下所示:
with open('music_queue.json', 'r') as f:
data = json.load(f)
有效json文件示例:
{"guild_id" : 10000, "song_list" : []}
附言:您必须在json文件中使用双引号""
,而不是单引号''
Expecting property name enclosed in double quotes
让我们理解这个错误,它只是说属性名称必须用双引号括起来。现在这是指您的JSON文件,因为00000是无效的。如果是一个数字,0就足够了。但是有4个零会使它读取为字符串
json中的字符串需要用双引号括起来
将json更改为:
{"guild_id" : "00000", "song_list" : []}
希望它能有所帮助!