zoukankan      html  css  js  c++  java
  • python学习笔记(13)json模块

    一、json

      JSON(JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式。JSON的数据格式其实就是python里面的字典格式,里面可以包含方括号括起来的数组,也就是python里面的列表。

      标准JSON格式:{“name”:"Tom"},类似与python中的字典,但是key和value都是双引号,而字典是单引号 ,json是一种特殊的字符串

      json模块常用的四种方法:dumps 、loads、dump、load

      1)dumps和loads方法

      dumps:将字典型转换为json字符串

      实例1:

    import json
    
    person = {
        'name': 'ACME',
        'sex': 'male',
        'height': 100,
        'price': 542.23,
        'hobby': 'sing'
    }
    
    # 一个Python数据结构转换为JSON 字符串
    json_str = json.dumps(person,indent=4)
    ) print(type(person),person) print(type(json_str),json_str)

      返回结果:

    <class 'dict'> {'name': 'ACME', 'sex': 'male', 'height': 100, 'price': 542.23, 'hobby': 'sing'}

    <class 'str'> {
    "name": "ACME",
    "sex": "male",
    "height": 100,
    "price": 542.23,
    "hobby": "sing"
    }

      

    loads方法:一个JSON编码的字符串转换回字典类型

    # json.loads()
    #将json字符串转为字典
    stat =  json.loads(json_str)
    print(stat)
    print(type(stat))
    

      返回结果:

    {'name': 'ACME', 'sex': 'male', 'height': 100, 'price': 542.23, 'hobby': 'sing'}
    <class 'dict'>
    

      

    2)dump和load方法

      

    dump方法先将person转换为json字符串,再自动写入文件
    import json
    
    person = {
        'name': 'ACME',
        'sex': 'male',
        'height': 100,
        'price': 542.23,
        'hobby': 'sing'
    }
    
    with open('json_1.txt','w',encoding='utf-8') as f:
        json.dump(person,f,indent=4,ensure_ascii=False) #indent表明json的首行缩进空格数,ensure_asscii=False 表示不使用ascii就可以正常展示中文
    #------------------等价于---------- # content=json.dumps(person) # f.write(content) #dump方法先将person转换为json字符串,再自动写入文件

      返回结果(json_1.txt):

    '''
    json_1.txt content
    '''
    {"name": "ACME", "sex": "male", "height": 100, "price": 542.23, "hobby": "sing"}
    

      

    load:自动读取文件内容,并自动将内容转换为字典

    with open('json_1.txt',encoding='utf-8') as f:
        str=json.load(f)
        #----------等价于--------
        # content=f.read()
        # str=json.loads(content)
    
    print(str)
    

      返回结果:

    {'name': 'ACME', 'sex': 'male', 'height': 100, 'price': 542.23, 'hobby': 'sing'}
    

      

  • 相关阅读:
    Why we should overwrite the hashCode() when we overwrite the equals()
    static dictionary methods of text compression
    xtrabackup热备主库(带gtid),实时在线还原备库
    容器提示没有这个:libaio.so.1
    ORACLE账户提示EXPIRED(GRACE)问题
    mysql批量插入测试数据
    记录一下一个脚本化修改sudo提权
    mysql从别的库dump数据下来,然后导入不同名字的其它库
    记一个mysql最简单的清理其二进制的过程
    查看当前数据库正在执行的事件
  • 原文地址:https://www.cnblogs.com/bugoobird/p/12832481.html
Copyright © 2011-2022 走看看