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:\Anaconda3\python.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:\Anaconda3\python.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:\Anaconda3\python.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:\Anaconda3\python.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:\Anaconda3\python.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:\Anaconda3\python.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

  

 

posted @ 2018-08-07 19:37  JY小脚丫  阅读(170)  评论(0编辑  收藏  举报