温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

python中json模块如何使用

发布时间:2021-07-05 15:10:22 来源:亿速云 阅读:110 作者:Leah 栏目:大数据

这篇文章将为大家详细讲解有关python中json模块如何使用,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

新建一个python文件命名为py3_json.py,在这个文件中进行操作代码编写:

import json
#定义一个json字符串people_str = '''{  "people":[    {      "name":"yale",      "age" : 25,      "email" :"yale@email.com"    },    {      "name":"McBag",      "age" : 30,      "email" :null    }  ]}'''#使用json.loads()加载字符串data = json.loads(people_str)print(data)#返回的是一个python字典#{'people': [{'name': 'yale', 'age': 25, 'email': 'yale@email.com'}#, {'name': 'McBag', 'age': 30, 'email': None}]}print(type(data['people']))#返回<class 'list'>#我们循环读取数据for people in data['people']:  print(people)  #print(people['name'])#{'name': 'yale', 'age': 25, 'email': 'yale@email.com'}#{'name': 'McBag', 'age': 30, 'email': None}#删除email信息for people in data['people']:  del people['email']#使用json.dumps()#将Python对象编码成JSON字符串#indent缩进显示#sort_keys按照key排序new_string = json.dumps(data,indent=1,sort_keys=True)print(new_string)#打印结果:'''{ "people": [  {   "name": "yale",   "age": 25  },  {   "name": "McBag",   "age": 30  } ]}'''#加载json文件with open('people.json','r') as f:  data = json.load(f)#打印数据for person in data['people']:  print(person['name'],person['age'],person['email']) #写入json文件for person in data['people']:  del person['email']with open('new_data.json','w') as wf:  new_json = json.dumps(data,indent=2)  wf.write(new_json)#读取新浪新闻的jsonimport refrom urllib.request import urlopen#请求一个新浪新闻地址with urlopen('''http://top.news.sina.com.cn/ws/GetTopDataList.php?top_type=day&top_cat=qbpdpl&top_time=20190531&top_show_num=100&top_order=DESC&js_var=comment_all_data''') as response:   source = response.read()   source = source.decode()#正则匹配出json字符串部分   try:  pattern = re.compile(r'\{\"conf\".*\}\]\}')  matches = pattern.findall(source)  data = json.loads(matches[0])  for item in data['data']:    print(item['id'],item['title'])except Exception as e:  print('出错了',e)#部分运行效果:#5208 有埃神的恒大曾代表中国 那有埃神的国足为何不行#5215 浅肤色直长发 30位印度小姐候选佳丽照引网友关注#5222 《复联》拍摄地通过最严反堕胎法 迪士尼或将撤出#5229 《破冰行动》导演为逻辑Bug道歉 回应感情戏多余

运行结果:

{'people': [{'name': 'yale', 'age': 25, 'email': 'yale@email.com'}, {'name': 'McBag', 'age': 30, 'email': None}]}<class 'list'>{'name': 'yale', 'age': 25, 'email': 'yale@email.com'}{'name': 'McBag', 'age': 30, 'email': None}{ "people": [  {   "age": 25,   "name": "yale"  },  {   "age": 30,   "name": "McBag"  } ]}yale 25 yale@email.comMcBag 30 NoneTestUser 30 testuser@163.com5208 《破冰行动》导演为逻辑Bug道歉 回应感情戏多余5215 库里34+5双卡55分 猛龙击退勇士总决赛1-0领先......

关于python中json模块如何使用就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI