python3.5中
无法反序列化bytes数据必须decode成str才可以
1 2 3 4 5 6 7 8 9 10 11 12 | >>> import json
>>> a = b '{"username": "xxx"}'
>>> c = json.loads(a)
|
3.5解决办法:
1 2 3 4 5 6 7 8 9 10 | >>> a = b '123'
>>> c = json.loads(a)
Traceback (most recent call last):
File "<stdin>" , line 1 , in <module>
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/json/__init__.py" , line 312 , in loads
s.__class__.__name__))
TypeError: the JSON object must be str , not 'bytes'
>>> c = json.loads(a.decode( 'utf-8' ))
>>> c
123
|
python3.6中
无论bytes类型或者str类型都可以反序列化
1 2 3 4 5 | >>> import json
>>> a = b '{"username": "xxx"}'
>>> c = json.loads(a)
>>> g = b '{"username": "xxx"}'
>>> h = json.loads(g.decode( "utf-8" ))
|
python3.5中
无法反序列化bytes数据必须decode成str才可以
1 2 3 4 5 6 7 8 9 10 11 12 | >>> import json
>>> a = b '{"username": "xxx"}'
>>> c = json.loads(a)
|
3.5解决办法:
1 2 3 4 5 6 7 8 9 10 | >>> a = b '123'
>>> c = json.loads(a)
Traceback (most recent call last):
File "<stdin>" , line 1 , in <module>
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/json/__init__.py" , line 312 , in loads
s.__class__.__name__))
TypeError: the JSON object must be str , not 'bytes'
>>> c = json.loads(a.decode( 'utf-8' ))
>>> c
123
|
python3.6中
无论bytes类型或者str类型都可以反序列化
1 2 3 4 5 | >>> import json
>>> a = b '{"username": "xxx"}'
>>> c = json.loads(a)
>>> g = b '{"username": "xxx"}'
>>> h = json.loads(g.decode( "utf-8" ))
|