新网创想网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
这篇文章将为大家详细讲解有关python中json模块如何使用,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
创新互联制作网站网页找三站合一网站制作公司,专注于网页设计,成都网站建设、成都网站设计,网站设计,企业网站搭建,网站开发,建网站业务,680元做网站,已为1000多家服务,创新互联网站建设将一如既往的为我们的客户提供最优质的网站建设、网络营销推广服务!
新建一个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']))#返回
#我们循环读取数据
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)
#读取新浪新闻的json
import re
from 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}]}{'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模块如何使用就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。