Как мне распечатать его в организованном файле JSON?

Мне нужна помощь с выводом моего файла 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 пар из них, и все они под одной { }.

Помогите!

1 ответ

Я вижу несколько проблем с синтаксисом в вашем коде, когда вы пытаетесь создать JSON. Вы могли бы попытаться сделать это.

{ Books:
  {
      {
        Book ID: XXXXXXXX
        Serial No.: XXXXXXX
      },
      {
        Book ID: XXXXXXX
        Serial No.: XXXXXX
       }
  }
 }

Как вы можете видеть, я обернул элементы книги в скобки, и теперь элементы разделены запятыми.

Это может помочь вам с вашей проблемой.

Другие вопросы по тегам