• 技术文章 >后端开发 >Python教程

    Python json模块有哪些常用方法

    PHPzPHPz2023-04-25 08:10:09转载60

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,遵循欧洲计算机协会制定的 JavaScript 规范(简称 ECMAScript)。

    JSON 易于人阅读和编写,同时也易于机器解析和生成,能够有效的提升网信息的传输效率,因此它常被作为网络、程序之间传递信息的标准语言,比如客户端与服务器之间信息交互就是以 JSON 格式传递的。

    简单地说,JSON 可以将 JavaScript 对象表示的一组数据转换为字符串格式,以便于在网络、程序间传输这个字符串。并且在需要的时候,还可以将它转换为编程语言所支持的数据格式。本节主要介绍如何实现 JSON 数据与 Python 数据类型间的相互转换。

    Python 语言内置了专门处理 JOSN 数据的模块 —— jons 模块,通过该模块就可以完成 JSON 与 Python 两种数据格式的相互转换。

    jons.loads()

    该方法可以将 json 格式的字符串转换成 Python 对象(比如列表、字典、元组、整型以及浮点型),其中最常用的是转换为字典类型。示例如下:

    # coding:utf8
    import json
    #JOSN字符串
    website_info='{"name" : "CSDN","PV" : "2000万","UV" : "800万","create_time" : "1999年"}'
    py_dict=json.loads(website_info)
    print("python字典数据格式:%s;数据类型:%s"% (py_dict,type(py_dict)))

    输出结果:

    python字典数据格式:{'name': 'CSDN', 'PV': '2000万', 'UV': '800万', 'create_time': '1999年'};数据类型:<class 'dict'>

    注意:上述示例中 JSON 字符串看上去和 Python 字典非常相似,但是其本质不同,JOSN 是字符串类型,而 Python 字典是 dict 类型。

    json.dump()

    它可以将 Python 对象(字典、列表等)转换为 json 字符串,并将转换后的数据写入到 json 格式的文件中 ,因此该方法必须操作文件流对象。比如当使用爬虫程序完成数据抓取后,有时需要将数据保存为 json 格式,此时就用到了 json.dump() 方法,语法格式如下:

    json.dump(object,f,inden=0,ensure_ascii=False)

    参数说明如下:

    示例示例如下:

    import json
    ditc_info={"name" : "CSDN","PV" : "2000万","UV" : "800万","create_time" : "1999年"}
    with open("web.josn","a") as f:
        json.dump(ditc_info,f,ensure_ascii=False)

    打开 web.json 文件,其内容如下所示:

    {
    "name": "CSDN",
    "PV": "2000万",
    "UV": "800万",
    "create_time": "1999年"
    }

    您也可以将 Python 列表转换成 JSON 字符串,并保存至 json 文件中,如下所示:

    import json
    item_list = []
    item = {'website': 'CSDN', 'url': "www.CSDN.net"}
    for k,v in item.items():
        item_list.append(v)
    with open('info_web.json', 'a') as f:
        json.dump(item_list, f, ensure_ascii=False)

    打开 info_web.json 文件,其内容如下:

    ["CSDN", "www.CSDN.net"]

    json.load()

    该方法用于操作文件流对象,不过它与 dump() 恰好相反,它表示从 json 文件中读取 JSON 字符串,并将读取内容转换为 Python 对象。使用示例如下:

    import json
    site = {'name':'CSDN',"url":"www.CSDN.net"}
    filename = 'website.json'
    with open (filename,'w') as f:
        json.dump(site,f,ensure_ascii=False)
    with open (filename,'r') as f:
        print(json.load(f))

    输出结果如下:

    {'name': 'CSDN', 'url': 'www.CSDN.net'}

    json.dumps()

    该方法可以将 Python 对象转换成 JSON 字符串。示例如下:

    import json
    #python字典
    item = {'website': 'CSDN', 'rank': 1}
    # json.dumps之后
    item = json.dumps(item,ensure_ascii=False)
    print('转换之后的数据类型为:',type(item))
    print(item)

    输出结果如下:

    转换之后的数据类型为: <class 'str'>
    {"website": "CSDN", "url": "www.CSDN.net"}

    最后对上述方法做简单地总结,如下表所示:

    JSON方法总结

    方法作用
    json.dumps()将 Python 对象转换成 JSON 字符串。
    json.loads()将 JSON 字符串转换成 Python 对象。
    json.dump()将 Python 中的对象转化成 JSON 字符串储存到文件中。
    json.load()将文件中的 JSON 字符串转化成 Python 对象提取出来。

    综上所述 json.load() 与 json.dump() 操作的是文件流对象,实现了 json 文件的读写操作,而 json.loads() 与 json.dumps() 操作的是 Python 对象或者 JOSN 字符串。

    以上就是Python json模块有哪些常用方法的详细内容,更多请关注php中文网其它相关文章!

    声明:本文转载于:亿速云,如有侵犯,请联系admin@php.cn删除
    专题推荐:Python JSON
    上一篇:Python中如何创建对象列表 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • Python速查表大全,你掌握了哪些知识点?• python怎么使用pyshp读写shp文件• 使用Python和pywinauto实现自动化采集任务的步骤和方法• Python中异常的传递性和手动抛出异常的方法• Python编程:避免使用循环的优秀方法!
    1/1

    PHP中文网