Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonでバイト配列をJSON形式に変換するにはどうすればよいですか?


文字列を生成するには、bytesオブジェクトをデコードする必要があります。これは、デコードするエンコードを受け入れる文字列クラスのデコード関数を使用して実行できます。

my_str = b"Hello" # b means its a byte string
new_str = my_str.decode('utf-8') # Decode using the utf-8 encoding
print(new_str)
出力 これにより出力が得られます

Hello

バイトを文字列として取得したら、JSON.dumpsメソッドを使用して文字列オブジェクトをJSONに変換できます。

my_str = b'{"foo": 42}' # b means its a byte string
new_str = my_str.decode('utf-8') # Decode using the utf-8 encoding

import json
d = json.dumps(my_str)
print(d)
出力 これにより出力が得られます-

"{\"foo\": 42}"

  1. 辞書の文字列表現をPythonの辞書に変換するにはどうすればよいですか?

    ここでast.literal_eval()を使用して、文字列をPython式として評価できます。式ノードまたはPython式を含む文字列を安全に評価します。提供される文字列またはノードは、次のPythonリテラル構造のみで構成されます:文字列、数値、タプル、リスト、dict、ブール値、およびなし。例: s = "{'baz' : 'lol', 'foo' : 'bar'}" import ast s = ast.literal_eval(s) print s['foo'], s['baz

  2. バイトリテラルをPython文字列に変換する方法は?

    バイトリテラルをPython文字列に変換するには、バイトをデコードする必要があります。これは、bytesオブジェクトのdecodeメソッドを使用して実行できます。 例 >>> b"abcde".decode("utf-8") u'abcde' バイトがASCIIエンコーディングを表す場合は、次のようにバイトをchrにマップすることもできます- bytes = [112, 52, 52] print("".join(map(chr, bytes))) 出力 p44