python字典和json字符串相互转化的方法(字典与json)
python 字符串转 json
json本身就是字符串,是符合json格式的字符串。
所以,你说的,字符串转json,就是不正确的描述。
一般正常的用法是:
涉及到,在json字符串,来自字符变量或文件内容,和不同类型的变量,之间的转换。
变量转json:
json.dumps或json.dump
json转变量:
json.loads或json.load
详解:
【整理】Python中将(字典,列表等)变量格式化成(漂亮的,树形的,带缩进的,JSON方式的)字符串输出
【整理】什么是JSON+如何处理JSON字符串
(此处不给贴地址,请自己用google搜标题,即可找到帖子地址)
python中json处理
python中json文件处理涉及的四个函数json.loads()、json.dumps()、json.load()、json.dump()。
1)json.dumps()
????将一个Python数据类型dict进行json格式的编码(字典-字符串)
? ? eg:
????age_dict = {'age1':'12', 'age2':'15'}
????json_info = json.dumps(age_dict)
????print("json_info = {}".format(json_info))
????print("json_info type = {}".format(type(json_info)))
2)json.loads()
????将json格式数据转换为dict(字符串-字典)
????json_age ='{"age1": "12", "age2": "15"}'
????dict_age = json.loads(json_info)
????print("json_age = {}".format(json_age))
????print("dict_age type = {}".format(str(type(dict_age))))
3)json.load()
????读取文件,将里json格式字符串转化为dict
????with open(test.json, 'r') as file:
? ? ????contents = json.load(file)
????print(contents)
4)json.dump()
????将dict类型转换为json格式字符串,存入文件
????number = [1, 2, 3, 5]
????file = 'number.json'
????with open(file?, 'w') as file:
? ? ????json.dump(number, file)
python怎么把json转化为字典
有一个需求,需要用python把json字符串转化为字典
inp_str = " {'k1':123, 'k2': '345',’k3’,’ares’} "
import jsoninp_str = " {'k1':123, 'k2': '345',’k3’,’ares’} "print json.loads(a)
死活出不来结果,还报错,没搞明白。
最后,直接复制网上的代码,OK,运行成功,可是把我的inp_srt变量填进去,不行,报错;开始对比两个变量有什么不同,一直以为Python中双引号单引号可以随便用,意思不变;最后百度了知道json的标准格式:要求必须 只能使用双引号作为键 或者 值的边界符号,不能使用单引号,而且“键”必须使用边界符(双引号)
改了后OK了。
#-*-coding:utf-8-*-import json
inp_strr = '{"k1":123, "k2": "456", 'k3':"ares"}'inp_dict = json.loads(inp_strr) # 根据字符串书写格式,将字符串自动转换成 字典类型print inp_dict
把python字典类型转换为 JSON字符串
# 导入包
import json
# 创建一个字典类型的数据
data = { 'id': 1, 'name': 'Tom', 'address': '北京市海淀区', 'school': None }
# 将字典类型转换json字符串
json_str = json.dumps(data)
# 输出结果
print(json_str)
要是真想学,推荐你看黑马程序员的公开课,不像别的免费课程讲的那么浅显,内容相对来说很良心也有一定的深度。自学的话非常合适。