zoukankan      html  css  js  c++  java
  • Python 基础入门 9 json

    """
    json:一种保存数据的格式,用于网络之间的传递,

    json基本组成:
    {} 代表对象(字典) 存储键值对,key:value 用,隔开
    [] 代表列表 存储value值 用,隔开
    value值:可以是字符串String,可以是数字,也可以是json键值对和列表
    详细请看官网:http://www.json.org/json-zh.html
    """
    #jsonStr是符合json格式的字符串
    jsonStr = '''[{
    "id":1,
    "text":"账号管理",
    "state":"closed",
    "children":[{"id":11,"text":"终端用户管理"},{"id":12,"text":"管理员账号管理"}]
    },{
    "id":2,
    "text":"功能管理",
    "children":[{"id":21,"text":"文章管理"},{"id":22,"text":"点赞管理"},{"id":23,"text":"评论管理"},{"id":24,"text":"回复评论管理"},{"id":25,"text":"照片管理"}]
    }]
    '''

    """
    python要解析json数据需要引入json模块
    python处理json格式的有,将符合json格式的字符串转化成json数据类型(load函数,loads函数),将json转化为string(dump函数,dumps函数)
    load和loads函数的区别,前者只能处理文件上的json,而后只能处理程序上的json
    dump和dumps函数的区别,前者只能处理文件上的json,而后只能处理程序上的json

    python数据类型与json数据类型对应如下
    +-------------+----------------+
    | python | json |
    +-------------+----------------+
    | dict | object |
    +-------------+----------------+
    | list | array |
    +-------------+----------------+
    | string | string |
    +-------------+----------------+
    | number | number |
    +-------------+----------------+
    | boolean | boolean |
    +-------------+----------------+
    | None | null |
    +-------------+----------------+
    json格式的组成不是{}开头就是[]开头,因此转化为json格式后,是object类型和array类型,在python中,相当于dict和list数据类型

    """
    import json
    jsonData = json.loads(jsonStr)
    print(type(jsonData)) #返回json的array类型,在python相当于list类型,因此type(jsonData)为list
    print(jsonData[0]["children"][0]["text"]) #根据list数据的性质取数据
    jsonData2 = json.dumps(jsonData) #将json格式的数据类型转化为字符串
    print(jsonData2,type(jsonData2))

    """
    读取本地的json文件
    """
    path =R"D:programmePythonfile ree_data1.json"
    with open(path,"r",encoding="utf-8") as f:
    data = json.load(f)
    print(data,type(data))

    """
    写本地json文件
    """
    path = R"D:programmePythonfile ree_data2.json"
    with open(path,"w",encoding="utf-8") as f:
    json.dump(jsonData,f)
  • 相关阅读:
    本周开发工作时间及内容
    自我介绍
    代码规范
    结对编程
    第二周总结
    20140227WPF学习笔记
    约瑟夫问题
    模式匹配KMP算法
    .NET开发之窗体间的传值转化操作
    北达软TOGAF9鉴定级别认证考试通知 北达软
  • 原文地址:https://www.cnblogs.com/hjlin/p/10660976.html
Copyright © 2011-2022 走看看