【php商城网店源码】【参会预约源码】【溯源码qrd】Indent源码

2024-12-24 09:14:27 来源:源码反码补码来源 分类:娱乐

1.在flask中使用jsonify和json.dumps的区别

Indent源码

在flask中使用jsonify和json.dumps的区别

       1.Content-Type有区别

       jsonify的作用实际上就是将我们传入的json形式数据序列化成为json字符串,作为响应的body,并且设置响应的Content-Type为application/json,构造出响应返回至客户端。jsonify的部分源码如下:

       def jsonify(*args,源码php商城网店源码 **kwargs):

       if __debug__:

       _assert_have_json()

       return current_app.response_class(json.dumps(dict(*args, **kwargs),

       indent=None if request.is_xhr else 2), mimetype='application/json')

       å¯ä»¥çœ‹å‡ºjsonify实际上也是使用了json.dumps来序列化json形式的数据,作为响应正文返回。indent表示json格式化的缩进,若是Ajax请求则不缩进(因为一般Ajax数据没必要直接展示),否则缩进2格。但想必从第一部分的实验结果我们已经看出来了,使用jsonify时响应的Content-Type字段值为application/json,而使用json.dumps时该字段值为text/html。Content-Type决定了接收数据的一方如何看待数据,如何处理数据,如果是application/json,则可以直接当做json对象处理,若是text/html,则还要将文本对象转化为json对象再做处理(个人理解,有误请指正)。

       2.接受参数有区别

       jsonify可以接受和python中的dict构造器同样的参数,如下图。

       è€Œjson.dumps比jsonify可以多接受list类型和一些其他类型的参数。但我试了一下,形式为key1=value1,[key2=value2,...]这样的参数是不行的,会报出“TypeError: dumps() takes exactly 1 argument (0 given)”这一错误,而jsonify不会报错并能正常返回数据。

       æœ€åŽï¼Œæˆ‘们可以使用flask中的make_response方法或者直接通过Response类,通过设置mimetype参数来达到和使用jsonify差不多的效果,但少写点代码何乐而不为呢?况且简洁一点更不容易出错,参数越多调试和维护就越麻烦。当然,使用哪个并不是绝对的,必要时要根据前端的数据处理方式来决定。

更多资讯请点击:娱乐

推荐资讯

2度交保、發回更裁!鄭文燦涉貪3進羈押庭 面色凝重嚴肅

前桃園市長鄭文燦涉嫌林口工五擴大用地案收賄案,2度交保,保釋金提高到1200萬,但也2度被高等法院發回更裁。桃園地方法院今11)天下午召開第3次羈押庭,鄭文燦再度和檢察官正面對決。鄭文燦面色凝重。圖/

共軍明在福建進行實彈射擊 國防部:全程掌握

美國眾議院議長裴洛西Nancy Pelosi)訪問亞洲之旅,到底是否訪台成為國際焦點。但對岸共軍突然宣布,明30)天將在福建平潭實施實彈射擊,也被解讀其中警告意味濃厚。我國國防部則回應,有關台海的周邊

國際油價25日下跌

據新華社報道,國際油價25日下跌。截至當天收盤,紐約商品交易所11月交貨的輕質原油期貨價格下跌1.87美元,收於每桶69.69美元,跌幅為2.61%;11月交貨的倫敦布倫特原油期貨價格下跌1.71美元