Django 使用原生sql后如何将数据处理成dict以及jso

2018-06-06  本文已影响0人  记录每一次BUG

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数据的调用。 

上一篇下一篇

猜你喜欢

热点阅读