2016-12-06 8 views
0

私はjson.dumps()とRPUSH(ed)を使ってJSONオブジェクトを作成しました。 LRANGEでJSONを取り戻すとき(redis.lrange())私は)だから、json.loads(バイナリ文字列json.loadsとPython 3.5のRedis

b'{"si":"00:ff" ... 

を受け取るには、エラーが発生します: ***はTypeError:JSONオブジェクトは、strをしなければなりません、 'bytes'ではない どのようにしてasciiに戻すべきですか?一般的に

+0

ファイルはどのように以前ですか?あなたはjson.load()を試しましたか? –

+0

また、エラーが発生します:*** AttributeError: 'bytes'オブジェクトには属性 'read'がありません – Guido

答えて

2

あなたは頭字語BADTIEを覚えておきたい:あなたはバイトをしている場合

Bytes 
Are 
Decoded 
Text 
Is 
Encoded 

は、あなたがテキストを取得するためにmy_bytes.decode()を実行します。

テキストがある場合は、my_text.encode()を実行してバイトを取得します。もしあなたがそれを知っていればエンコーディングを指定することもできますが、それは合理的なデフォルトを持っています。

+0

これは機能しました!偉大な略語BADTIE。 – Guido