溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

python中json模塊如何使用

發(fā)布時間:2021-07-05 15:10:22 來源:億速云 閱讀:114 作者:Leah 欄目:大數(shù)據(jù)

這篇文章將為大家詳細講解有關(guān)python中json模塊如何使用,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關(guān)知識有一定的了解。

新建一個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'>#我們循環(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)#讀取新浪新聞的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 淺膚色直長發(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}]}<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 《破冰行動》導(dǎo)演為邏輯Bug道歉 回應(yīng)感情戲多余5215 庫里34+5雙卡55分 猛龍擊退勇士總決賽1-0領(lǐng)先......

關(guān)于python中json模塊如何使用就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI