1. 程式人生 > 程式設計 >Python 將json序列化後的字串轉換成字典(推薦)

Python 將json序列化後的字串轉換成字典(推薦)

一般而言下面的就可以完成需求了。

def convertToDic(data):
 jsonDic=json.loads(data)
 return dict(jsonDic)

但實際應用中可能會出現一些問題,因此有時候也可以增加一些異常處理:

def convertToDic(data):
 try: jsonDic=json.loads(data)
 except json.decoder.JSONDecodeError: jsonDic={}
 try: dic=dict(jsonDic)
 except TypeError: dic={}
 return dic

實際應用:

def getEvent(data):
 try: jsonDic=json.loads(data)
 except json.decoder.JSONDecodeError: jsonDic={}
 try: dic=dict(jsonDic)
 except TypeError: dic={}
 try: event = dic["event"]
 except KeyError: event = None
 return event,dic

PS:下面看下python json與字典物件互相轉換

import requests
import json
'''
json.loads(json_str) json字串轉換成字典
json.dumps(dict) 字典轉換成json字串 
'''
# 這是一個ajax發起的get請求,獲取一個json物件
r = requests.get("https://m.douban.com/rexxar/api/v2/subject_collection/movie_showing/items?os=ios&for_mobile=1&start=0&count=18&loc_id=108288&_=0")
json_response = r.content.decode() # 獲取r的文字 就是一個json字串
# 將json字串轉換成dic字典物件
dict_json = json.loads(json_response)
print(type(dict_json))
# 將字典轉換成json字串
str_json = json.dumps( dict_json )
print(type(str_json))
# 字典轉換成json 存入本地檔案
with open('./a.txt','w') as f:
  # 設定不轉換成ascii json字串首縮排
  f.write( json.dumps( dict_json,ensure_ascii=False,indent=2 ) )

總結

以上所述是小編給大家介紹的Python 將json序列化後的字串轉換成字典,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回覆大家的。在此也非常感謝大家對我們網站的支援!
如果你覺得本文對你有幫助,歡迎轉載,煩請註明出處,謝謝!