самый быстрый способ Python, чтобы продиктовать JSON бинарную строку - PullRequest
0 голосов
/ 29 апреля 2018

Мне нужно преобразовать этот python dict в двоичный файл json

   d = {'1': 'myval', '2': 'myval2'}

   json_binary_str = b'{"1": "myval", "2": "myval2"}'

в Python 3, у меня есть это:

   import ujson
   ujson.dumps(d)

но это не создает двоичную строку. Как я могу это сделать?

1 Ответ

0 голосов
/ 29 апреля 2018

Если вам нужно преобразовать JSON в двоичный файл, вам нужно преобразовать его в строку, используя dumps(), тогда вы можете преобразовать его в двоичный файл, как показано ниже

  import json

if __name__ == '__main__':
    sent_data = {'1': 'myval', '2': 'myval2'}
    dumped_json_string = json.dumps(sent_data)
    binary_data = ' '.join(format(ord(letter), 'b') for letter in dumped_json_string)
    print binary_data

    jsn = ''.join(chr(int(x, 2)) for x in binary_data.split())
    received_data = json.loads(jsn)
    print received_data

вывод двоичных_данных

1111011 100010 110001 100010 111010 100000 100010 1101101 1111001 1110110 1100001 1101100 100010 101100 100000 100010 110010 100010 111010 100000 100010 1101101 1111001 1110110 1100001 1101100 110010 100010 1111101

вывод полученный_данных равен

{u'1': u'myval', u'2': u'myval2'}

Надеюсь, это поможет!

...