我需要有关json文件输出的帮助。我正在尝试打印名为密钥对的列表中的密钥。我必须生成60个密钥,我已将其包含在我的代码的(计数< 60)部分(这里不是)。我只是显示我的代码的导出部分,我有问题。这是我的代码:
with open("/home/pi/Desktop/database.json", 'w+'):
db = TinyDB('/home/pi/Desktop/database.json')
table = db.table('Books')
db.insert({'Book ID' : keypair[bookid], 'Serial No.' : keypair[bookserial] })
但是,我现在遇到的问题是它打印出列表中的所有键 - bookid和bookserial,而不是在一个{}中打印一对键。
这是一个示例输出,其中count< 2:
Pillar": {}, "_default":
{"1":
{"Bookid": ["b'\\XXXXXX bookid 1 XXXXXXX'", "b'\\AAAAAA bookid 2 AAAAAAA'"],
"Serial No.": ["b'\\YYYYYserialno 1YYYYY'", "b'BBBBserial no2BBBB'"]
}
}
这是我打算得到的输出:
以这样的格式,每次再次运行时都会打印一对键:
{ Books:
{
Book ID: XXXX bookid 1 XXXX
Serial No.: XXX serialno 1 XXXX
}
{
Book ID: XXX bookid 2 XXXX
Serial No.: XXX serial no. 2 XXX
}
}
正如你所看到的,json文件很乱,我不知道如何使它自动整洁,而且,你可以看到键一起打印成一个而不是单独打印。想象一下,必须打印60对这些,并且它们都在一个{}之内。
帮助!
答案 0 :(得分:0)
当您尝试创建json时,我在代码中看到了多个语法问题。你可以尝试这样做。
{ Books:
{
{
Book ID: XXXXXXXX
Serial No.: XXXXXXX
},
{
Book ID: XXXXXXX
Serial No.: XXXXXX
}
}
}
正如您所看到的,我也将书籍项目包装在括号中,现在这些项目以逗号分隔。
这可以帮助您解决问题。