欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

一篇文章詳解json中文編碼問題

 更新時間:2025年03月13日 10:26:47   作者:C000kie  
在使用Flask編寫后端接口時,如果設(shè)置的接口返回格式是JSON,可能會遇到中文編碼問題,這篇文章主要介紹了json中文編碼問題的相關(guān)資料,需要的朋友可以參考下

json中文編碼問題

在用flask寫后端接口的時候,設(shè)置的接口返回格式是這樣的:

from flask import jsonify

def generate_response(data=None, message=None, code=200):
    res_data = {
        "data": data if data is not None else [],
        "success": "true",
        "message": message
    }
    return jsonify(res_data)

在瀏覽器看到的結(jié)果中,中文變成了編碼格式

而在postman中可以看到正常的數(shù)據(jù)

這是由于flask默認(rèn)會將非ASCII字符轉(zhuǎn)義為Unicode編碼。中文字符在默認(rèn)情況下會被轉(zhuǎn)義成\uXXXX的形式

flask的響應(yīng)機(jī)制

flask的響應(yīng)機(jī)制主要是將視圖函數(shù)的返回值轉(zhuǎn)換為HTTP響應(yīng)。當(dāng)視圖函數(shù)返回一個字符串時,flask會將其封裝成一個Response對象,并設(shè)置默認(rèn)的Content-Type為 text/html; charset=utf-8;當(dāng)返回字典或列表時,flask會使用jsonify函數(shù)將其轉(zhuǎn)換為JSON響應(yīng)。

jsonfy

jsonify 是flask提供的一個便捷函數(shù),用于將 python 對象(如字典、列表)轉(zhuǎn)換為JSON響應(yīng)。它會自動創(chuàng)建一個Response對象,默認(rèn)設(shè)置Content-Typeapplication/json

json.dumps

在flask里,jsonify函數(shù)其實(shí)是基于python的json.dumps來實(shí)現(xiàn)的。json.dumps默認(rèn)會把非 ASCII 字符轉(zhuǎn)義成 unicode 編碼形式。

可以通過設(shè)置ensure_ascii參數(shù)為False來避免這種轉(zhuǎn)義,并將 json.dumps 的結(jié)果包裝為 Response 對象,設(shè)置響應(yīng)頭。

def generate_response(data=None, message=None, code=200):
    res_data = {
        "data": data if data is not None else [],
        "success": "true",
        "message": message
    }
    return Response(
        json.dumps(res_data, ensure_ascii=False),
        content_type='application/json; charset=utf-8',
        status=code
    )

總結(jié) 

到此這篇關(guān)于json中文編碼問題的文章就介紹到這了,更多相關(guān)json中文編碼問題內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python函數(shù)參數(shù)操作詳解

    Python函數(shù)參數(shù)操作詳解

    這篇文章主要介紹了Python函數(shù)參數(shù)操作,結(jié)合實(shí)例形式詳細(xì)分析了Python形參、實(shí)參、默認(rèn)參數(shù)、關(guān)鍵字參數(shù)、可變參數(shù)、對參數(shù)解包以及獲取參數(shù)個數(shù)等相關(guān)操作技巧,需要的朋友可以參考下
    2018-08-08
  • 一篇文章帶你詳細(xì)了解python中一些好用的庫

    一篇文章帶你詳細(xì)了解python中一些好用的庫

    這篇文章主要推薦了一些好用的Python庫,都有這不錯的群眾基礎(chǔ),非常好用,也都很實(shí)用,推薦給大家,希望能夠給你帶來幫助
    2021-09-09
  • python基礎(chǔ)教程之五種數(shù)據(jù)類型詳解

    python基礎(chǔ)教程之五種數(shù)據(jù)類型詳解

    這篇文章主要介紹了python基礎(chǔ)教程之五種數(shù)據(jù)類型詳解的相關(guān)資料,這里對Python 的數(shù)據(jù)類型進(jìn)行了詳細(xì)介紹,需要的朋友可以參考下
    2017-01-01
  • python微信公眾號開發(fā)簡單流程

    python微信公眾號開發(fā)簡單流程

    這篇文章主要介紹了python微信公眾號開發(fā)的相關(guān)資料,分步驟為大家分享python微信公眾號開發(fā),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-03-03
  • python基于numpy的線性回歸

    python基于numpy的線性回歸

    這篇文章主要為大家詳細(xì)介紹了python基于numpy的線性回歸,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-07-07
  • Python爬蟲程序中使用生產(chǎn)者與消費(fèi)者模式時進(jìn)程過早退出的問題

    Python爬蟲程序中使用生產(chǎn)者與消費(fèi)者模式時進(jìn)程過早退出的問題

    本文主要介紹了Python爬蟲程序中使用生產(chǎn)者與消費(fèi)者模式時進(jìn)程過早退出的問題,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-01-01
  • Python selenium爬取微博數(shù)據(jù)代碼實(shí)例

    Python selenium爬取微博數(shù)據(jù)代碼實(shí)例

    這篇文章主要介紹了Python selenium爬取微博數(shù)據(jù)代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-05-05
  • Python爬蟲爬取博客實(shí)現(xiàn)可視化過程解析

    Python爬蟲爬取博客實(shí)現(xiàn)可視化過程解析

    這篇文章主要介紹了Python爬蟲爬取博客實(shí)現(xiàn)可視化,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-06-06
  • 解決Pycharm出現(xiàn)的部分快捷鍵無效問題

    解決Pycharm出現(xiàn)的部分快捷鍵無效問題

    今天小編就為大家分享一篇解決Pycharm出現(xiàn)的部分快捷鍵無效問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-10-10
  • python3列表刪除大量重復(fù)元素remove()方法的問題詳解

    python3列表刪除大量重復(fù)元素remove()方法的問題詳解

    這篇文章主要給大家介紹了關(guān)于python3列表刪除大量重復(fù)元素remove()方法的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01

最新評論