• 技术文章 >Python技术 >Python基础教程

    一文带你读懂JSON模块

    爱喝马黛茶的安东尼爱喝马黛茶的安东尼2019-07-06 17:24:57原创2192

    json模块

    JSON (JavaScript Object Notation):是一个轻量级的数据交换格式模块,受javascript对象文本语法启发,但不属于JavaScript的子集。

    常用方法:

    dump(obj,fp):将对象以字符串的形式写入文件中。

    load(fp):将数据从文件中读出,并返回(需要变量接收)数据的原类型。

    dumps(obj):将对象转换成json字符串形式。

    loads(str):将json字符串数据转换成原来的数据类型。

    相关推荐:《Python视频教程

    实例如下:dumps(obj) | loads(str)

    import json
    dict_1 = {"电影":"黄飞鸿","电视剧":"霍元甲"}
    json_str = json.dumps(dict_1)  # 将字典转换成json的字符串类型
    dict_2 = json.loads(json_str)  # 将json的字符串类型转换成原数据
    print(json_str,type(json_str))
    print(dict_2.items(),type(dict_2))

    打印内容如下

    {"\u7535\u5f71": "\u9ec4\u98de\u9e3f", "\u7535\u89c6\u5267": "\u970d\u5143\u7532"} <class 'str'>
    dict_items([('电影', '黄飞鸿'), ('电视剧', '霍元甲')]) <class 'dict'>

    实例如下:dump(obj,fp) | load(fp)

    import json
    # 向文件中写入json数据
    dict_1 = {"电影":"黄飞鸿","电视剧":"霍元甲"}
    file_write = open("json.txt",mode="w",encoding="utf-8")
    json.dump(dict_1,file_write)  # 将字典以json的字符串类型写入文件
    file_write.close()

    从文件中读取json数据

    file_read = open("json.txt",mode="r",encoding="utf-8")
    dict_2 = json.load(file_read) # 将文件中内容转换成原数据类型并返回
    file_read.close()
    print(dict_2.items(),type(dict_2)) # 打印转换后的数据

    打印内容如下

    dict_items([('电影', '黄飞鸿'), ('电视剧', '霍元甲')]) <class 'dict'>

    这里需要注意的是json模块dump(obj,fp)虽然可以多次上传,但是在load时会报错,load(fp)函数不能转换多次dump的数据。所以如果想要向json文件中新增数据时,需要将数据load下来转换成原数据,然后在原数据基础上进行新增。最后将处理后的数据dump覆盖写到文件中。

    专题推荐:python json
    品易云
    上一篇:一文带你读懂Python线程 下一篇:一文带你读懂Python中的pickle模块

    相关文章推荐

    • 详解Python中的JSON编码模块• Python之json模块和pickle模块详解• Python之JSON函数介绍

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网