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

数据需接上篇文章获取

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'}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1、通过CocoaPods安装项目名称项目信息 AFNetworking网络请求组件 FMDB本地数据库组件 SD...
    阳明AI阅读 16,039评论 3 119
  • 黑娃是谁?白鹿原看过吗?没看过书也看过电视剧吧,对就是那个黑娃! 白鹿原看到结局,不由得脊背发凉,这个得了矛盾...
    蚂蚁进击阅读 1,410评论 0 0
  • 由于ofo起于校园,而我又一直从事于这个市场,所以微信好友里有不少ofo的小伙伴,今天(3月21日)朋友圈被他们刷...
    孙凌聊校园阅读 2,890评论 0 14
  • 生活需要适当的妥协和一惯的坚持 它是在于灵活和不变的巧妙地感悟题-葛莹
    ying1024阅读 1,059评论 0 0
  • 这是一本奇异之书。一群大山里的穷孩子的文字,奇迹般地再一次证明了:在我们的童稚时代,我们的性灵曾多么天真,我们的感...
    互加计划_蒋丝丝阅读 4,264评论 3 10