zoukankan      html  css  js  c++  java
  • JsonResponse对象

    class JsonResponse(data,encoder = DjangoJSONEncoder,safe = True,json_dumps_params = None ,** kwargs)[source]

    HttpResponse 的一个子类,帮助用户创建JSON 编码的响应。 它从父类继承大部分行为,并具有以下不同点:

    它的默认Content-Type 头部设置为application/json

    它的第一个参数data,应该为一个dict 实例。 如果safe 参数设置为False,它可以是任何可JSON 序列化的对象。

    encoder,默认为 django.core.serializers.json.DjangoJSONEncoder,用于序列化data。 关于这个序列化的更多信息参见JSON serialization

    布尔参数safe 默认为True。 如果设置为False,可以传递任何对象进行序列化(否则,只允许dict 实例)。 如果safe 为True,而第一个参数传递的不是dict对象,将抛出一个TypeError

    json_dumps_params参数是传递给用于生成响应的json.dumps()调用的关键字参数的字典。

    用法:

    典型的用法如下:

    >>> from django.http import JsonResponse
    >>> response = JsonResponse({'foo': 'bar'}) #
    >>> response.content
    b'{"foo": "bar"}'
    from django.http import JsonResponse
    def diggit(request):
    response_stat={"state":True}
    return JsonResponse(response_stat) #这个方法直接给你序列化,不需要这样写HttpResponse(json.dumps(response_stat),
        # 而且返回到ajax的值不需要反向解析了

    序列化非字典对象(http://python.usyiyi.cn/documents/Django_111/ref/request-response.html#serializing-non-dictionary-objects)

    若要序列化非dict 对象,你必须设置safe 参数为False:
    
    >>> response = JsonResponse([1, 2, 3], safe=False)
    如果不传递safe=False,将抛出一个TypeError
  • 相关阅读:
    一个简单的php站点配置
    nginx基本配置
    redis命令大全
    while()
    遍历字符串
    带空格的字符串逆转(简洁版)
    Java Swing 介绍
    java键盘输入
    做一个完整的Java Web项目需要掌握的技能
    biu
  • 原文地址:https://www.cnblogs.com/gongxu/p/8572344.html
Copyright © 2011-2022 走看看