新聞中心
這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
python中json模塊如何使用
這篇文章將為大家詳細講解有關(guān)python中json模塊如何使用,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關(guān)知識有一定的了解。
創(chuàng)新互聯(lián)制作網(wǎng)站網(wǎng)頁找三站合一網(wǎng)站制作公司,專注于網(wǎng)頁設(shè)計,成都網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計,網(wǎng)站設(shè)計,企業(yè)網(wǎng)站搭建,網(wǎng)站開發(fā),建網(wǎng)站業(yè)務(wù),680元做網(wǎng)站,已為1000多家服務(wù),創(chuàng)新互聯(lián)網(wǎng)站建設(shè)將一如既往的為我們的客戶提供最優(yōu)質(zhì)的網(wǎng)站建設(shè)、網(wǎng)絡(luò)營銷推廣服務(wù)!
新建一個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']))#返回
#我們循環(huán)讀取數(shù)據(jù)
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)
#打印結(jié)果:
'''
{
"people": [
{
"name": "yale",
"age": 25
},
{
"name": "McBag",
"age": 30
}
]
}
'''
#加載json文件
with open('people.json','r') as f:
data = json.load(f)
#打印數(shù)據(jù)
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 淺膚色直長發(fā) 30位印度小姐候選佳麗照引網(wǎng)友關(guān)注
#5222 《復(fù)聯(lián)》拍攝地通過最嚴反墮胎法 迪士尼或?qū)⒊烦?/code>
#5229 《破冰行動》導(dǎo)演為邏輯Bug道歉 回應(yīng)感情戲多余
運行結(jié)果:
{'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 《破冰行動》導(dǎo)演為邏輯Bug道歉 回應(yīng)感情戲多余5215 庫里34+5雙卡55分 猛龍擊退勇士總決賽1-0領(lǐng)先......
關(guān)于python中json模塊如何使用就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
當前標題:python中json模塊如何使用
文章轉(zhuǎn)載:http://www.dlmjj.cn/article/ggcpdd.html