美文网首页
rest_framework bytes类型的字典字符串转换为j

rest_framework bytes类型的字典字符串转换为j

作者: 鸟它鸟 | 来源:发表于2018-06-23 00:51 被阅读0次

数据需接上篇文章获取

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'}

相关文章

网友评论

      本文标题:rest_framework bytes类型的字典字符串转换为j

      本文链接:https://www.haomeiwen.com/subject/nzalyftx.html