当前位置 主页 > 网站技术 > 代码类 >

    python dumps和loads区别详解

    栏目:代码类 时间:2020-02-04 15:09

    这篇文章主要介绍了python dumps和loads区别详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

    一.概念理解

    json是一种轻量级的数据交换格式,对象由花括号括起来的逗号分割的成员构成,成员是字符串键和上文所述的值由逗号分割的键值对组成,如:

    {"name":"cctester","age":30,"address":{"country":"china","province":"nanjing"}}

    json.dumps()和json.loads()是python中的json格式处理函数(可以这么理解,json是字符串)

    (1)json.dumps()函数是将一个Python数据类型列表进行json格式的编码(可以这么理解,json.dumps()函数是将字典转化为字符串)

    (2)json.loads()函数是将json格式数据转换为字典(可以这么理解,json.loads()函数是将字符串转化为字典)

    二.实例解释

    #encoding=utf-8
    import json
    #json.dumps()函数的使用,将字典转化为字符串
    
    dict1 = {'name':'聚焦学院','age':6}
    json_info = json.dumps(dict1,ensure_ascii=False)
    
    print ('dict1的类型:'+str(type(dict1)))
    #dict1的类型:<type 'dict'>
    
    print ('json_info的类型:'+str(type(json_info)))
    #json_info的类型:<type 'str'>
    
    print (json_info)
    #{"age": 6, "name": "聚焦学院"}
    
    new_dict=json.loads(json_info)
    print (type(new_dict))
    #<type 'dict'>

    通过上述的实例,我们可以清楚的看到json字符串和字典数据类型的转变,上述为啥使用jsom.dumps使用ensure_ascii=False呢,这是因为json.dumps序列化时对中文默认使用的ascii编码,想输出真正的中文需要指定ensure_ascii=False:

    以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持IIS7站长之家。