python dict 到 json 二进制字符串的最快方法

Ten*_*sor 6 python json ujson

我需要将这个 python dict 转换为二进制 json

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

   json_binary_str = b'{"1": "myval", "2": "myval2"}'
Run Code Online (Sandbox Code Playgroud)

在 python 3 中,我有这个:

   import ujson
   ujson.dumps(d)
Run Code Online (Sandbox Code Playgroud)

但是,这不会创建二进制字符串。我怎样才能做到这一点 ?

Ama*_*ngh 0

如果需要将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
Run Code Online (Sandbox Code Playgroud)

binary_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
Run Code Online (Sandbox Code Playgroud)

receive_data 的输出是

{u'1': u'myval', u'2': u'myval2'}
Run Code Online (Sandbox Code Playgroud)

希望能帮助到你!