Django 使用原生sql后如何將數據處理成dict以及json傳給前端頁面

def dictfetchall(cursor):

????"將游標返回的結果保存到一個字典對象中"

????desc = cursor.description

????return [

????dict(zip([col[0] for col in desc], row))

????for row in cursor.fetchall()

????]

def test(request):

????????cursor = connection.cursor()

? ? ? ? cursor.execute(sql,None)

????????result = cursor.fetchall()? # 結果是元祖嵌套元祖

? ? ? ? result1 =?dictfetchall(cursor)? # 結果是列表里面嵌套字典

? ? ? ? result2 = json.dumps(result1) # 結果是json

注意:? ?result? 與? result1不能同時使用

python 字典與pythonjson的區別:

????????簡單來說,python 字典的數據格式就json的數據格式。?

????????但本質上來講,字典是一種數據結構,json是一種格式;字典有很多內置函數,有多種調用方法,而json是數據打包的一種格式,并不像字典具備操作性,并且是格式就會有一些形式上的限制,比如json的格式要求必須且只能使用雙引號作為key或者值的邊界符號,不能使用單引號,而且“key”必須使用邊界符(雙引號),但字典就無所謂了。

????????形式上的相近也讓python提供了json.loads()轉換函數,方便json數據的調用。?

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容