Json中的几个方法

本文介绍了Json处理中四个重要的转换方法:1) JSONRenderer用于将ReturnDict转换为字节流;2) JSONParser可以将字节流解析成字典;3) json.dumps能将Python对象转为json字符串;4) json.loads则能将json字符串转化为Python对象。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

from rest_framework.renderers import JSONRenderer
from rest_framework.parsers import JSONParser

1、JSONRenderer().render(serializer.data)将ReturnDict字典类型转换为字节流

snippet = Snippet(owner=user,code='foo = "bar"\n')
snippet.save()
serializer_context = {
    'request': request,
}
serializer = SnippetSerializer(snippet, context=serializer_context)
print(type(serializer.data))
print(serializer.data)
"""
#<class 'rest_framework.utils.serializer_helpers.ReturnDict'>
#{'id': 34, 'title': '', 'code': 'foo = "bar"\n', 'linenos': False, 'language': 'python', 'style': 'friendly'}
"""
content = JSONRenderer().render(serializer.data)
print(type(content))
print(content)
"""
<class 'bytes'>
b'{"id":31,"title":"","code":"foo = \\"bar\\"\\n","linenos":false,"language":"python","style":"friendly"}'
"""

 

2、JSONParser().parse(stream) #把字节流转换为字典类型

import io
stream = io.BytesIO(content)
data = JSONParser().parse(stream) #把字节流转换为python字典类型
print(type(data))
print(data)
"""
<class 'dict'>
{'id': 31, 'title': '', 'code': 'foo = "bar"\n', 'linenos': False, 'language': 'python', 'style': 'friendly'}
"""

3、json.dumps()将python对象类型转换为json(str)

4、json.loads()将json(str)转换为python 对象类型

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值