zoukankan      html  css  js  c++  java
  • python解析.json文件--json模块(内置)

    第一part:json文件的介绍


    1)JSON(JavaScript Object Notation) 的含义:

    是一种轻量级的数据交换格式,它是JavaScript的子集,易于人阅读和编写。
    json是一种通用的数据类型,一般情况下接口返回的数据类型都是json,格式与字典类似,形式也是{key:value},但是json是字符串
    字符串不能用key、value来取值,所以要先将其转换为字典。
    2)JSON的内容格式:每个参数之间,也是使用逗号隔开,但是最后一个参数不需要加逗号


     第二part:python操作json文件的四个方法


     python操作json文件,需要导入json模块,json为内置模块,其中主要使用如下四个方法进行操作:

    方法 描述
    json.dumps() 将 Python 对象编码成 JSON 字符串
    json.loads() 将已编码的 JSON 字符串解码为 Python 对象
    json.dump() 将Python内置类型序列化为json对象后写入文件
    json.load() 读取文件中json形式的字符串元素转化为Python类型

     总结:不管是dump还是load,带s的都是和字符串相关的,不带s的都是和文件相关的。


    第三part:python读取json文件的数据,主要使用json.loads()和json.load()两个方法:


     1)json.loads()方法的详细使用

    import json
    with open ("data2.json") as fp:
    result=fp.read()
    print("直接读取json文件的内容的类型为:",type(result))
    print("将已编码的 JSON字符串解码为 Python对象的值为:",json.loads(result))
    print('将json字符串转换为dict:',type(json.loads(result)))

    执行结果,如下:

    2)json.load()方法的详细使用

    import json
    with open("data2.json") as fp:
    #load获取的数据是字典类型而非字符串;

    result=json.load(fp)
    print(type(result))
    print(result)

    执行结果,如下:


     第四part:python写入数据到json文件,主要使用json.dumps()和json.dump()两个方法:


     1)json.dumps()方法的详细使用

    json.dumps()方法与json.loads()方法相对应,将python类型转换为json类型

    import json
    wri={'username': 'zhangsan', 'age': 22, 'sex': 'male', 'number': 142177753456}
    with open ('data2.json','w') as fp:
    result=json.dumps(wri)
    print(result,type(result))
    fp.write(result)

    执行结果如下:

     

    2)json.dump()方法的详细使用

    json.dump()方法与json.load()方法相对应,将python类型转换为json类型

    import json
    wri={'username': 'wangwu', 'age': 22, 'sex': 'male', 'number': 142177753456}
    with open ('data2.json','w') as fp:
    # 现在已经以json格式写进去,具有一个参数indent可以很好的显式json的格式,该参数即可以传入int类型也可以是str类型
    json.dump(wri,fp,indent=" ",ensure_ascii=False)
    执行结果如下:



     第五part:python数据类型与json数据类型的映射关系


    Python----------->Json

    Json ----------->Json

    dict

    object

    object

    dict

    list, tuple

    array

    array

    list

    str, unicode

    string

    string

    unicode

    int, long, float

    number

    number (int)

    int, long

    True

    true

    number (real)

    float

    False

    false

    true

    True

    None

    null

    false

    False

     
  • 相关阅读:
    第02组 Alpha冲刺(2/6)
    第02组 Alpha冲刺(1/6)
    第02组 团队Git现场编程实战
    第02组 团队项目-需求分析报告
    团队项目-选题报告
    第二次结对编程作业
    第一次结对编程作业
    第2组 团队展示(组长)
    Exchange 2013 中的 OAB (脱机通讯簿)以及如何管理
    vmware esxi 查看网卡、Raid卡驱动
  • 原文地址:https://www.cnblogs.com/smilecindy/p/13780824.html
Copyright © 2011-2022 走看看