zoukankan      html  css  js  c++  java
  • Python处理json模块的详细介绍

    前言

    本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。

    Python处理json模块的详细介绍

     

    首先,了解下什么是JSON?

    JSON:JavaScript Object Notation 【JavaScript 对象表示法】

    JSON 是一种轻量级的数据交换格式,完全独立于任何程序语言的文本格式。一般,后台应用程序将响应数据封装成JSON格式返回。

    JSON的基本语法如下:JSON名称/值对。JSON 数据的书写格式是:名称/值对。名称/值对包括字段名称(在双引号中),然后着是一个冒号(:),最后是值。

    JSON最常用的格式是对象的键值对:key只能是string, value可以是 object、array、string、number、true/false、null

    {
    "sites": [
    { "name":"360" , "url":"www.360.com" }, 
    { "name":"google" , "url":"www.google.com" }, 
    { "name":"baidu" , "url":"www.baidu.com" }
    ]
    }
    • 键通过双引号包裹,后面跟冒号“:”,然后跟该键的值;
    • 值可以是字符串、数字、数组等数据类型;
    • 对象与对象之间用逗号隔开;
    • “{}”用来保存对象;
    • “[]”用来保存数组;

    json跟python中的字典看起来很像,两者之间的区别?

    1)json的key只能是字符串,dict的key可以是任何可hash的对象,例如:字符串、数字、元组等;

    2)字典是一种数据结构,json是一种数据格式;字典有很多内置函数,有多种调用方法,而json是数据打包的一种格式,并不像字典具备操作性;

    3)json的字符串强制用双引号,dict的字符串可以用单引号、双引号;

    一般而言,我们会把json转化为python中的字典或者列表,再对其进行操作。

    Python处理json的模块:json

    Pythone3的标准库JSON模块,可以很方便的帮我们进行json数据的转换和处理,这里主要指序列化(json.dumps()、json.dump())和反序列化(json.loads()、json.load())。

    序列化和反序列化:

    将对象转换为可通过网络传输或可以存储到本地磁盘的数据格式(如:XML、JSON或特定格式的字节串)的过程称为序列化;反之,则称为反序列化。

    常用的JSON模块方法:

    • json.dumps():将Python中的对象转换为JSON中的字符串对象
    • json.dump():将python对象转换成JSON字符串输出到fp流中。
    • json.loads():将JSON中的字符串对象转换为Python中的对象
    • json.load():读取包含json对象的文件。

    带s的都是和字符串相关的,不带s的都是和文件相关的。

    Python处理json模块的详细介绍

     

    实例:

    把字典转换成json串

    import json
    dic = {'name': 'xiaoming', 'age': 29}
    json_str = json.dumps(dic)#返回json字符串
    print(json_str)
    print(type(json_str))
    输出:
    {"name": "xiaoming", "age": 29}
    <class 'str'>

    Python解码JSON对象

    import json
    json_str ='{"id":"09", "name": "Nitin", "department":"Finance"}'
    # Convert string to Python dict
    dict = json.loads(json_str)
    print(dict)
    #转换成字典来后,要访问其中的值,可以使用字典的key来访问
    print(dict['id'])
    输出:
    {'id': '09', 'name': 'Nitin', 'department': 'Finance'}
    09

    读取json文件

    import json
    with open('test1.json') as f:
        a = json.load(f)
    print(a)
    print(type(a))
    输出:
    {'sites': [{'name': '360', 'url': 'www.360.com'}, {'name': 'google', 'url': 'www.google.com'}, {'name': 'baidu', 'url': 'www.baidu.com'}]}
    <class 'dict'>

    写入json文件

        import json
        dic ={
            "name" : "xiaoming",
            "age" : 20,
            "phonenumber" : "15555555555"
        }
    
        with open("test2.json", "w") as outfile:
            json.dump(dic, outfile)
    
        文件test.json {"name": "xiaoming", "age": 20, "phonenumber": "15555555555"}
    Python处理json模块的详细介绍

     

    Python类型转换JSON类型的对应关系

    Python处理json模块的详细介绍

     

    json类型转换到Python的类型对照表

    Python处理json模块的详细介绍
  • 相关阅读:
    深入JavaScript之获取cookie以及删除cookie
    js 首次进入弹窗
    jquery 点击加载更多
    express 设置允许跨域访问
    微信小程序之全局储存
    jquery 在页面上根据ID定位(jQuery锚点跳转及相关操作)
    我也想聊聊 OAuth 2.0 —— 基本概念
    一行代码,发送邮件
    【Git使用】强制推送代码到多个远程仓库
    一秒钟生成自己的iOS客户端
  • 原文地址:https://www.cnblogs.com/zwhy8/p/13301578.html
Copyright © 2011-2022 走看看