json.loads函数作用
时间: 2025-05-29 15:40:16 浏览: 22
### Python 中 `json.loads` 函数的作用及其示例
#### 作用概述
`json.loads` 是 Python 标准库模块 `json` 提供的一个重要函数,用于将 JSON 格式的字符串解析为对应的 Python 数据结构[^1]。具体来说,它可以接收一个合法的 JSON 字符串作为输入,并将其转换成相应的 Python 对象(如字典、列表等),以便进一步操作和使用。
#### 基本语法
```python
json.loads(s, *, cls=None, object_hook=None, parse_float=None, parse_int=None, parse_constant=None, object_pairs_hook=None, **kw)
```
- **参数说明**:
- `s`: 表示 JSON 数据的字符串。
- 其他可选参数允许用户自定义解码行为,例如通过 `object_hook` 或者继承 `json.JSONDecoder` 类来自定义对象钩子等功能[^5]。
#### 示例演示
##### 示例 1: 将简单的 JSON 字符串转为 Python 字典
最基础的应用就是把标准 JSON 文本映射成为 Python 的内置容器类型。
```python
import json
json_string = '{"key": "value"}'
parsed_data = json.loads(json_string)
print(parsed_data) # 输出:{'key': 'value'}
print(type(parsed_data)) # 输出:<class 'dict'>
```
这段代码展示了如何利用 `json.loads` 把一个键值对形式的 JSON 字符串变成 Python 字典[^3]。
##### 示例 2: 解析嵌套结构的 JSON 数据
对于更加复杂的情况比如数组或者多层次的对象组合也可以轻松应对。
```python
complex_json = '''
{
"employees": [
{"firstName": "John", "lastName": "Doe"},
{"firstName": "Anna", "lastName": "Smith"}
]
}
'''
data_structure = json.loads(complex_json)
for emp in data_structure["employees"]:
print(f'{emp["firstName"]} {emp["lastName"]}')
# 输出:
# John Doe
# Anna Smith
```
在这个例子中我们看到即使面对较为繁琐的数据模型依然可以依靠这个工具完成转化工作[^2]。
##### 示例 3: 使用高级选项定制化反序列化进程
有时候可能需要针对某些特殊需求调整默认的行为模式,这时就可以借助额外提供的配置项来进行扩展支持。
```python
import math
import json
customized_json = '[Infinity,-Infinity]'
converted_list = json.loads(
customized_json,
parse_float=lambda f: float('inf') if str(f).lower() == 'infinity' else (-float('inf')) if str(f).startswith('-infi') else None
)
print(converted_list) # 结果应显示 [inf, -inf], 如果环境不允许 inf 则需适配相应替代方案
```
此处体现了通过重写浮点数处理器达成兼容非传统数值的能力。
---
### 总结
总之,`json.loads` 主要承担着由 JSON 编码表示过渡至本地编程语言实例的任务,在跨平台通信领域扮演不可或缺的角色[^4]。无论是处理单层次还是深层次关联的信息单元都能胜任良好表现的同时还保留高度灵活性给开发者自行优化空间^。
阅读全文
相关推荐




















