数据需接上篇文章获取
In [21]: from django.utils.six import BytesIO
In [22]: from rest_framework.parsers import JSONParser
In [24]: bytesdata= jr.render(data2.data) #获取一下byte类型的字典数据
In [25]: bytesdata
Out[25]: b'{"password":"pbkdf2_sha256$36000$OnVys4VQEVzx$7PIyapu3vpN/qdBcZ36UdOAMOW9yjD30rkzZbyr5q7Y=","username":"ljp1","email":"ljp1@reboot.com"}'
In [26]: stream = BytesIO(bytesdata)
In [27]: stream #可以看到通过BytesIO转换后的数据是一个流
Out[27]: <_io.BytesIO at 0x7f4c2e367620>
In [28]: stream.read() #read可以看到数据流中的一条数据,不过读取后该条数据就消失了
Out[28]: b'{"password":"pbkdf2_sha256$36000$OnVys4VQEVzx$7PIyapu3vpN/qdBcZ36UdOAMOW9yjD30rkzZbyr5q7Y=","username":"ljp1","email":"ljp1@reboot.com"}'
上面是byte类型数据接入到BytesIO流中
下面看下如何将数据转换为JSON
In [40]: stream = BytesIO(bytesdata) #通过BytesIO处理byte类型数据
In [41]: jsondata=JSONParser() #实例化JSONParser类
In [42]: jsondata.parse(stream) #通过parse方法转换数据为标准的json数据
Out[42]:
{'password': 'pbkdf2_sha256$36000$OnVys4VQEVzx$7PIyapu3vpN/qdBcZ36UdOAMOW9yjD30rkzZbyr5q7Y=',
'username': 'ljp1',
'email': 'ljp1@reboot.com'}
网友评论