python之json模块

本章节我们将为大家介绍如何使用 Python 语言来编码和解码 JSON 对象。

使用 JSON 函数需要导入 json 库:import json。

一、json模块常见用法

1、json.dumps()、json.loads()、json.dump()、json.load()用法

json.dumps():将python中的字典转换为json字符串 [dict→str] 备注:除了字典,如果列表中的每个值都是字典,也能转换为json字符串
json.loads():将json字符串转换为字典类型python对象 [str→dict]

json.dump():表示写入文件,文件为json字符串格式,无返回
json.load():表示读取json文件,返回python对象,也即字典

loads和dumps处理的是字符串
load和dump处理的主要是文件

2、json格式化:

json.dumps() 方法将python字典转为 JSON 字符串后,但它不是很容易阅读,没有缩进和换行,可以使用indent 参数定义缩进和换行

格式:

data = {'a':1,'b':2,'c':3,'d':4,'e':5}
json.dumps(data, indent=4)  #indent=4 表示换行时候缩进4个字符
json.dump(data,file,indent=4)

除了字典,如果列表中的每个值都是字典,也能转换为json字符串格式的列表,如下例子:

import json

# 假设有一个包含JSON类型数据的列表
data = [{'name':'wang','age':'16','weight':'168'},{'name':'liu','age':'26','weight':'170'}]
# 使用json.dumps方法将列表转换为字符串形式
data_str = json.dumps(data)
print(data_str)

运行结果如下:

[{"name": "wang", "age": "16", "weight": "168"}, {"name": "liu", "age": "26", "weight": "170"}]

3、json排序

json.dumps() 方法提供了对结果中的键进行排序的参数

json.dumps(x, indent=4, sort_keys=True) #json消息体换行后缩进4个字符,键按字母顺序排序

二、实践

2.1、json.dumps

import json

data = {'a':1,'b':2,'c':3,'d':4,'e':5}
data2 = json.dumps(data)
print(data2)

运行的结果是:

{"a": 1, "b": 2, "c": 3, "d": 4, "e": 5}

2.2、json.loads

import json

jsonData = '{"a":1,"b":2,"c":3,"d":4,"e":5}';

text = json.loads(jsonData)
print(text)

运行的结果是:

{'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5}

2.3、json.dump

import json

data = "{'age': '12'}"
file = open(r'D:\Document\Workspace\pywokrspace\test1\001\1.json','w',encoding='utf-8') 
json.dump(data,file) # json.dump()函数的使用,将json信息写进文件

2.4、json.load

import json

file = open(r'D:\Document\Workspace\pywokrspace\test1\001\1.json','r',encoding='utf-8') # json.load()函数的使用,将读取json信息
json5 = json.load(file)
print(json5)
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值