• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
百里丶落云
Gee,gee,baby,baby
            管理     
json 模块的基本使用学习

内容大纲

    1: 为什么要学习json模块

      >1:因为网络之间的通信,还有不同语言之间的相互内容沟通,需要用到json 模式进行沟通

      >2:写入部分文件用json文件保存,

    2:json的序列化 

      json.dumps(iterable)

dic ={'k1':'v1','k2':'v2','k3':'v3'}
str_dic =json.dumps(dic)
print(str_dic)
>>>>>>
{"k1": "v1", "k2": "v2", "k3": "v3"}

 

    3:将json 转化成字典

      json.loads(json模式的内容)

 

dic ={'k1':'v1','k2':'v2','k3':'v3'}
str_dic =json.dumps(dic)
# print(str_dic)
#将json 转成字典模式
dic1 =json.loads(str_dic)
print(dic1)
>>>>>
{'k1': 'v1', 'k2': 'v2', 'k3': 'v3'}

 

 

 

    4:自动把所有的' '  变成 " "

      json.dumps()      因为json 的模式就是 " "

 

list_dic =[1,['a','b','c','d'],3,{'k1':'v1','k2':'v2','k3':'v3'}]
str =json.dumps(list_dic)
print(str)
>>>>>
[1, ["a", "b", "c", "d"], 3, {"k1": "v1", "k2": "v2", "k3": "v3"}]

 

 

 

    5:json 写入文件

      dump(iteaber,句柄) 

 

dic ={'k1':'v1','k2':'v2','k3':'v3'}
# json 写入文件
with open('123.json','w',encoding='utf-8') as f:
    json.dump(dic,f)

 

 

 

    6:读取json文件

      json.load(句柄)

 

with open('123.json','r',encoding='utf-8') as f1:
    ret =json.load(f1)
print(ret)

 

 

 

    7:将多个json 写入json文件

 

将多个json 文件写入文件
dic1 = {'name': '春哥'}
dic2 = {'name': '子伍'}
dic3 = {'name': '王子'}
with open('duo.json','w',encoding='utf-8') as f2:
    json.dump(dic1,f2)
    f2.write('\n')
    json.dump(dic2,f2)
    f2.write('\n')        #注意换行, 因为读的时候是for 循环句柄
    json.dump(dic3,f2)
    f2.write(json.dumps(dic1)+'\n')
    f2.write(json.dumps(dic2)+'\n')
    f2.write(json.dumps(dic3)+'\n')
with open('duo.json','r',encoding='utf-8') as f3:
     for line in f3:
         ret =json.loads(line)
         print(ret)
    ret =json.loads(f3.read())
print(ret)

 

 

 

    8:  

 

年与时驰,意与日去,遂成枯落, 多不接世,悲守穷庐,将复何及。
posted on 2019-01-09 21:13  百里丶落云  阅读(345)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3