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'}
    

      

  • 相关阅读:
    combobox只读代码
    winform中相对路径和绝对路径的获取
    C#中启动外部应用程序
    C#winfrom中应用程序只启动一次代码
    测试计划详细版
    如何编写有效的测试计划
    产品经理,如何面对一句话需求?
    需求评审-软件测试最有效的阶段
    分享一套好用的功能测试用例编写框架
    selenium加载配置文件
  • 原文地址:https://www.cnblogs.com/bugoobird/p/12832481.html
Copyright © 2011-2022 走看看