龙空技术网

python操作json数据和文件

Mr丶鲤 355

前言:

眼前你们对“python27json”大致比较注意,姐妹们都想要分析一些“python27json”的相关内容。那么小编也在网络上网罗了一些有关“python27json””的相关文章,希望小伙伴们能喜欢,我们一起来学习一下吧!

一、使用json.dumps方法转换python对象为json字符串:

1、创建一个user_info的dict

In [1]: user_info = {"code":200, "data":{"name":"李振华","sex":"man"}}In [2]: user_infoOut[2]: {'code': 200, 'data': {'name': '李振华', 'sex': 'man'}}

2、使用json.dumps方法将user_info转变成json字符串:

# 导入python原生的json模块In [3]: import jsonIn [4]: json_str = json.dumps(user_info)In [5]: json_strOut[5]: '{"code": 200, "data": {"name": "\\u674e\\u632f\\u534e", "sex": "man"}}'# 使用type()函数,查看对象类型,显示为strIn [6]: type(json_str)Out[6]: str

3、json.dumps方法还可以接收额外的一些参数:

# 使用separators参数,去除掉json字符串中不必要的空格,也可以换成其他符号,替换掉json默认的,和:号In [7]: json_str = json.dumps(user_info, separators=[",",":"])In [8]: json_strOut[8]: '{"code":200,"data":{"name":"\\u674e\\u632f\\u534e","sex":"man"}}'# 使用sort_keys参数,对json字符串里面的key进行排序In [11]: json_str = json.dumps(user_info, sort_keys=True)In [12]: json_strOut[12]: '{"code": 200, "data": {"name": "\\u674e\\u632f\\u534e", "sex": "man"}}'# 使用 indent 参数可以对json字符串进行格式化输出json_str = json.dumps(user_info, indent=4)

二、使用json.loads方法转换json字符串为python对象:

# 直接传入json字符串,这里你可以尝试捕获异常In [16]: user_info = json.loads(json_str)In [17]: user_infoOut[17]: {'code': 200, 'data': {'name': '李振华', 'sex': 'man'}}

三、使用json.dump方法将python对象存在json文件:

# 将dict已json字符串的形式写入到json文件中In [25]: with open("user_info.json", "w") as fp: ...: user_info = {"code":200, "data":{"name":"李振华","sex":"man"}} ...: json.dump(user_info, fp) ...:# 使用shell命令cat输出json文件的内容In [26]: ! cat user_info.json{"code": 200, "data": {"name": "\u674e\u632f\u534e", "sex": "man"}}

四、使用json.load方法将json文件转换成python的对象:

# 直接使用json.load方法,参数是一个json文件流In [27]: with open("user_info.json", "r") as fp: ...: user_info = json.load(fp) ...: ...:# 打印user_infoIn [28]: user_infoOut[28]: {'code': 200, 'data': {'name': '李振华', 'sex': 'man'}}# 查看user_info对象的类型In [29]: type(user_info)Out[29]: dict

标签: #python27json