zoukankan      html  css  js  c++  java
  • day22_3-json模块


    # 参考资料:
    # python模块(转自Yuan先生) - 狂奔__蜗牛 - 博客园
    # https://www.cnblogs.com/guojintao/articles/9070485.html
    # ------------------------------------------------------------
    # ********************day22_3-json模块 *******************
    # ********************day22_3-json模块 *******************
    # ********************day22_3-json模块 *******************
    # =====>>>>>>内容概览
    # =====>>>>>>内容概览
    # =====>>>>>>内容概览


    # ------------------------------------------------------------
    # # 0、json概述
    # # # JSON (JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于ECMAScript的一个子集。
    # # # Python3 中可以使用 json 模块来对 JSON 数据进行编解码,它包含了两个函数:
    # # # json.dumps(): 对数据进行编码。
    # # # json.loads(): 对数据进行解码。
    # # # Python3 JSON 数据解析 | 菜鸟教程
    # # # http://www.runoob.com/python3/python3-json.html
    # # # 作用: 可以实现跨平台实现数据的传输,不不仅仅是在python之间,可以在多个语言平台之间实现数据传输
    # # # 也因此,在数据传输的编码与解码上,经常通过json来进行,而pickle的使用率会低下一些
    # ------------------------------------------------------------

    # ------------------------------------------------------------
    # # 1、不用jason方法实现在写入文件的数据进行还原
    # # # 使用json方法见4
    # ------------------------------------------------------------

    # ------------------------------------------------------------
    # # 2、json.dumps()
    # # # json.dumps(): 对数据进行编码。
    # # # 需要注意的是:json的dumps会数据进行统一化处理,所有的数据-->双引号的字符串
    # # # 如 s = 'hello ---->"hello"------>'"hello"'
    # # # 注意与json.dump()区别,json.dump()将转化的数据通过json内置处理直接写入到文件中,
    # # # 而dumps操作是先将数据转化为json数据,在通过文件的处理方法,之后再再将数据写入到文件中,
    # # # 使用上,json.dumps()为常用
    # # # json.dump()----->>>见下面实例???
    # ------------------------------------------------------------

    # ------------------------------------------------------------
    # # 3、json.loads()
    # # # json.loads(): 对数据进行解码。
    # # # 实现对数据从json格式中,还原为原来的格式
    # # # 注意与json.load()区别,使用上,json.loads()为常用,具体的与上面的序列2的类似
    # ------------------------------------------------------------

    # ------------------------------------------------------------
    # # 4、json.dumps与json.loads 在文件传输中的应用
    # # # 通过jason方法,实现在写入文件的数据进行还原
    # ------------------------------------------------------------

    # ------------------------------------------------------------
    # # 5、json.dump与json.load 在文件传输中的应用
    # # # 这个与dumps、loads的区别就,是这个是直接读取文件的内容并实现json转码,步聚是合在一起的
    # ------------------------------------------------------------

    # ------------------------------------------------------------
    # # 6、json.dumps与json.loads 的一些补充
    # # # json.dumps与json.loads 不一定需要搭配使用,只要他们文件中保存的数据满足json读取到的
    # # # 格式就是可了
    # # # 即,文件储存的时候的编码不一定需要使用json.dumps来编码,只要格式满足json格式,读取
    # # # 一样可以通过json.loads来解码读取
    # ------------------------------------------------------------
    '''



    '''
    # ------------------------------------------------------------
    # # 0、json概述
    # # # JSON (JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于ECMAScript的一个子集。
    # # # Python3 中可以使用 json 模块来对 JSON 数据进行编解码,它包含了两个函数:
    # # # json.dumps(): 对数据进行编码。
    # # # json.loads(): 对数据进行解码。
    # # # Python3 JSON 数据解析 | 菜鸟教程
    # # # http://www.runoob.com/python3/python3-json.html
    # # # 作用: 可以实现跨平台实现数据的传输,不不仅仅是在python之间,可以在多个语言平台之间实现数据传输
    # # # 也因此,在数据传输的编码与解码上,经常通过json来进行,而pickle的使用率会低下一些
    # ------------------------------------------------------------

    ------------------------------------------------分割线-------------------------------------------------

    ------------------------------------------------分割线-------------------------------------------------

    ------------------------------------------------分割线-------------------------------------------------

    '''
    # ------------------------------------------------------------
    # # 1、不用jason方法实现在写入文件的数据进行还原
    # # # 使用json方法见4
    # ------------------------------------------------------------
    '''
    #
    # # 写入到文件中
    # print("写入部份".center(50,"-"))
    # dic = {"name":"alex",
    #        'sex':'male'}
    # f = open("hello","w")
    # # dic需要转化为字符串,才能存储到系统中
    # dic_s = str(dic)
    # print(dic_s,type(dic_s))
    # f.write(dic_s)
    #
    # # 如果不关闭,刚刚写入的数据还放在内存中,还没有写进去,导致下面读取到的数据是“空”
    # # f.close()
    # # 如果不用上面的关闭操作,可以将在内存中的文件流通到flush操作刷入内存中,下面就可以读取到数据了
    # f.flush()
    #
    # print("读取部份".center(50,"-"))
    # # 将刚刚写入的数据读取出来
    # f_read = open("hello","r")
    # data = f_read.read()
    # print(data,type(data))
    #
    # print("还原为字典".center(50,"-"))
    # data = eval(data)
    # print(data,type(data))
    #
    # # D:Anaconda3python.exe D:/C_cache/py/day22_os_json_re_etc_MoKuai/day22_3-json.py
    # # -----------------------写入部份-----------------------
    # # {'name': 'alex', 'sex': 'male'} <class 'str'>
    # # -----------------------读取部份-----------------------
    # # {'name': 'alex', 'sex': 'male'} <class 'str'>
    # # ----------------------还原为字典-----------------------
    # # {'name': 'alex', 'sex': 'male'} <class 'dict'>
    # #
    # # Process finished with exit code 0
    
    
    
    
    
    '''
    # ------------------------------------------------------------
    # # 2、json.dumps()
    # # # json.dumps(): 对数据进行编码。
    # # # 需要注意的是:json的dumps会数据进行统一化处理,所有的数据-->双引号的字符串
    # # # 如  s = 'hello ---->"hello"------>'"hello"'
    # # # 注意与json.dump()区别,json.dump()将转化的数据通过json内置处理直接写入到文件中,
    # # # 而dumps操作是先将数据转化为json数据,在通过文件的处理方法,之后再再将数据写入到文件中,
    # # # 使用上,json.dumps()为常用
    # # # json.dump()----->>>见下面实例???
    # ------------------------------------------------------------
    '''
    # import json
    # dic = {"name":"alex",
    #        'sex':'male'}    # ---->{"name":"alex"}----->'{"name":"alex"}'
    # i = 8                   # ---->'8'
    # s = 'hello'             # ---->"hello"------>'"hello"'
    # l = [11,22,"??"]        # ---->"[11,22]"
    #
    # dic_jason = json.dumps(dic)
    # i_jason = json.dumps(i)
    # s_jason = json.dumps(s)
    # l_jason = json.dumps(l)
    # print("字典:  ",dic_jason,type(dic_jason))
    # print("整数:  ",i_jason,type(i_jason))
    # print("字符串:",s_jason,type(s_jason))
    # print("列表:  ",l_jason,type(l_jason))
    #
    # # D:Anaconda3python.exe D:/C_cache/py/day22_os_json_re_etc_MoKuai/day22_3-json.py
    # # 字典:   {"name": "alex", "sex": "male"} <class 'str'>
    # # 整数:   8 <class 'str'>
    # # 字符串: "hello" <class 'str'>
    # # 列表:   [11, 22, "??"] <class 'str'>
    # #
    # # Process finished with exit code 0
    
    
    
    
    
    
    '''
    # ------------------------------------------------------------
    # # 3、json.loads()
    # # # json.loads(): 对数据进行解码。
    # # # 实现对数据从json格式中,还原为原来的格式
    # # # 注意与json.load()区别,使用上,json.loads()为常用,具体的与上面的序列2的类似
    # ------------------------------------------------------------
    '''
    #
    # import json
    # dic = {"name":"alex",
    #        'sex':'male'}    # ---->{"name":"alex"}----->'{"name":"alex"}'
    # i = 8                   # ---->'8'
    # s = 'hello'             # ---->"hello"------>'"hello"'
    # l = [11,22,"??"]        # ---->"[11,22]"
    #
    # dic_jason = json.dumps(dic)
    # i_jason = json.dumps(i)
    # s_jason = json.dumps(s)
    # l_jason = json.dumps(l)
    #
    # print("json.dumps数据编码部分".center(50,"-"))
    # print("字典:  ",dic_jason,type(dic_jason))
    # print("整数:  ",i_jason,type(i_jason))
    # print("字符串:",s_jason,type(s_jason))
    # print("列表:  ",l_jason,type(l_jason))
    #
    # dic_loads = json.loads(dic_jason)
    # i_loads = json.loads(i_jason)
    # s_loads = json.loads(s_jason)
    # l_loads = json.loads(l_jason)
    #
    # print("json.loads数据解码部分".center(50,"-"))
    # print("字典:  ",dic_loads,type(dic_loads))
    # print("整数:  ",i_loads,type(i_loads))
    # print("字符串:",s_loads,type(s_loads))
    # print("列表:  ",l_loads,type(l_loads))
    #
    #
    # # D:Anaconda3python.exe D:/C_cache/py/day22_os_json_re_etc_MoKuai/day22_3-json.py
    # # -----------------json.dumps数据编码部分-----------------
    # # 字典:   {"name": "alex", "sex": "male"} <class 'str'>
    # # 整数:   8 <class 'str'>
    # # 字符串: "hello" <class 'str'>
    # # 列表:   [11, 22, "??"] <class 'str'>
    # # -----------------json.loads数据解码部分-----------------
    # # 字典:   {'name': 'alex', 'sex': 'male'} <class 'dict'>
    # # 整数:   8 <class 'int'>
    # # 字符串: hello <class 'str'>
    # # 列表:   [11, 22, '??'] <class 'list'>
    # #
    # # Process finished with exit code 0
    
    
    '''
    # ------------------------------------------------------------
    # # 4、json.dumps与json.loads  在文件传输中的应用
    # # # 通过jason方法,实现在写入文件的数据进行还原
    # ------------------------------------------------------------
    '''
    #
    # import json
    #
    # # 写入到文件中
    # print("写入部份".center(50,"-"))
    # dic = {"name":"alex",
    #        'sex':'male'}
    # f = open("hello","w")
    # # dic需要转化为字符串,才能存储到系统中      这里的编码与“上面序列1”中的区别
    # dic_s = json.dumps(dic)
    # print(dic_s,type(dic_s))
    # f.write(dic_s)
    #
    # # 如果不关闭,刚刚写入的数据还放在内存中,还没有写进去,导致下面读取到的数据是“空”
    # # f.close()
    # # 如果不用上面的关闭操作,可以将在内存中的文件流通到flush操作刷入内存中,下面就可以读取到数据了
    # f.flush()
    #
    # print("读取部份".center(50,"-"))
    # # 将刚刚写入的数据读取出来
    # f_read = open("hello","r")
    # data = f_read.read()
    # print(data,type(data))
    #
    # print("还原为字典".center(50,"-"))
    # data = json.loads(data)
    # print(data,type(data))
    #
    # # D:Anaconda3python.exe D:/C_cache/py/day22_os_json_re_etc_MoKuai/day22_3-json.py
    # # -----------------------写入部份-----------------------
    # # {"name": "alex", "sex": "male"} <class 'str'>
    # # -----------------------读取部份-----------------------
    # # {"name": "alex", "sex": "male"} <class 'str'>
    # # ----------------------还原为字典-----------------------
    # # {'name': 'alex', 'sex': 'male'} <class 'dict'>
    # #
    # # Process finished with exit code 0
    
    
    
    
    '''
    # ------------------------------------------------------------
    # # 5、json.dump与json.load  在文件传输中的应用
    # # # 这个与dumps、loads的区别就,是这个是直接读取文件的内容并实现json转码,步聚是合在一起的
    # ------------------------------------------------------------
    '''
    #
    # import json
    #
    # print("写入部份".center(50,"-"))
    # dic = {"name":"alex",
    #        'sex':'male'}
    # f = open("hello","w")
    # # json编码并且写到文件内
    # print(json.dump(dic,f),"写入完成" )
    #
    # # 如果不关闭,刚刚写入的数据还放在内存中,还没有写进去,导致下面读取到的数据是“空”
    # # f.close()
    # # 如果不用上面的关闭操作,可以将在内存中的文件流通到flush操作刷入内存中,下面就可以读取到数据了
    # f.flush()
    #
    # print("还原为字典".center(50,"-"))
    # f_read = open("hello","r")
    # data = json.load(f_read)
    # print(data,type(data))
    #
    # # D:Anaconda3python.exe D:/C_cache/py/day22_os_json_re_etc_MoKuai/day22_3-json.py
    # # -----------------------写入部份-----------------------
    # # None 写入完成
    # #
    # # ----------------------还原为字典-----------------------
    # # {'name': 'alex', 'sex': 'male'} <class 'dict'>
    # #
    # # Process finished with exit code 0
    
    
    
    
    # 06
    # 06
    # 06
    '''
    # ------------------------------------------------------------
    # # 6、json.dumps与json.loads  的一些补充
    # # # json.dumps与json.loads  不一定需要搭配使用,只要他们文件中保存的数据满足json读取到的
    # # # 格式就是可了
    # # # 即,文件储存的时候的编码不一定需要使用json.dumps来编码,只要格式满足json格式,读取
    # # # 一样可以通过json.loads来解码读取
    # ------------------------------------------------------------
    '''
    # import json
    # with open ("a","r") as f:
    #     data = f.read()
    #     print(data,type(data))
    #     data = json.loads(data)     # 文件中的内容满足json格式内容
    #     print(data["name"])
    #     print(data, type(data))
    #
    # # D:Anaconda3python.exe D:/C_cache/py/day22_os_json_re_etc_MoKuai/day22_3-json.py
    # # {"name":"alvin"} <class 'str'>
    # # alvin
    # # {'name': 'alvin'} <class 'dict'>
    # #
    # # Process finished with exit code 0
    

      

  • 相关阅读:
    移动互联网实战--Apple的APNS桩推送服务的实现(1)
    移动互联网实战--社交游戏的排行榜设计和实现(2)
    移动互联网实战--社交游戏的排行榜设计和实现(1)
    Linux 线程--那一年, 我们一起忽视的pthread_join
    移动互联网实战--资源类APP的数据存储处理和优化
    Thrift 个人实战--RPC服务的发布订阅实现(基于Zookeeper服务)
    移动互联网实战--Web Restful API设计和基础架构
    Thrift 个人实战--Thrift RPC服务框架日志的优化
    Thrift 个人实战--Thrift 服务化 Client的改造
    Kafka集群副本分配算法解析
  • 原文地址:https://www.cnblogs.com/jyfootprint/p/9439013.html
Copyright © 2011-2022 走看看