Python 将json序列化后的字符串转换成字典(推荐)

yipeiwu_com6年前Python基础

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

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序列化后的字符串转换成字典,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对【听图阁-专注于Python设计】网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

相关文章

17个Python小技巧分享

1.交换变量 复制代码 代码如下: x = 6 y = 5 x, y = y, x print x >>> 5 print y >>> 6 2.if...

python+selenium实现QQ邮箱自动发送功能

python+selenium实现QQ邮箱自动发送功能

python实现从登录到自动发送qq邮件,供大家参考,具体内容如下 qq邮箱登录注意问题 账户密码登录框是写在一个iframe上的,所以我们要先进入iframe中才能定位到下面的两个输入...

详解Python迭代和迭代器

我们将要来学习python的重要概念迭代和迭代器,通过简单实用的例子如列表迭代器和xrange。 可迭代 一个对象,物理或者虚拟存储的序列。list,tuple,strins,dictt...

Django如何实现上传图片功能

Django如何实现上传图片功能

前言 很多时候我们要用到图片上传功能,如果图片一直用放在别的网站上,通过加载网址的方式来显示的话其实也挺麻烦的,我们通过使用 django-filer 这个模块实现将图片文件直接放在自己...

python 判断自定义对象类型

要判断自定义对象的类型,用__class__方法,或者用isinstance(object, class-or-type-or-tuple)-->bool 用__class__不能...