基于Python将JSON字符串转换为字典
更新时间:2026年02月13日 08:21:32 作者:detayun
本文介绍了如何在Python中使用内置的json模块将JSON字符串转换为字典,处理异常,从文件读取JSON,以及确保JSON格式的正确性,还详细说明了json.loads()和json.load()的区别,并提供了中文处理和字典转JSON字符串的方法,需要的朋友可以参考下
在 Python 中,将 JSON 字符串转换为字典非常简单,使用内置的 json 模块即可。
基本方法
import json
# JSON 字符串
json_str = '{"name": "张三", "age": 25, "city": "北京"}'
# 转换为字典
data_dict = json.loads(json_str)
print(data_dict)
print(type(data_dict)) # <class 'dict'>
print(data_dict['name']) # 张三
完整示例
import json
# 示例 JSON 字符串
json_string = '''
{
"name": "李四",
"age": 30,
"hobbies": ["阅读", "游泳", "编程"],
"address": {
"street": "中山路123号",
"city": "上海"
},
"is_student": false
}
'''
# 转换为字典
data = json.loads(json_string)
# 访问数据
print(f"姓名: {data['name']}")
print(f"年龄: {data['age']}")
print(f"爱好: {data['hobbies']}")
print(f"城市: {data['address']['city']}")
print(f"是否学生: {data['is_student']}")
# 遍历字典
for key, value in data.items():
print(f"{key}: {value}")
处理异常
import json
json_str = '{"name": "王五", "age": 28' # 缺少闭合括号,无效JSON
try:
data = json.loads(json_str)
print("转换成功:", data)
except json.JSONDecodeError as e:
print(f"JSON解析错误: {e}")
print(f"错误位置: 行 {e.lineno}, 列 {e.colno}")
从文件读取 JSON
import json
# 从文件读取 JSON
with open('data.json', 'r', encoding='utf-8') as f:
data = json.load(f) # 注意是 load() 不是 loads()
print(data)
注意事项
JSON 格式要求:
- 键名必须用双引号
"包裹(单引号会报错) - 字符串值必须用双引号
- 布尔值用
true/false(Python 中是True/False) - 空值用
null(Python 中是None)
loads() vs load():
json.loads(): 从字符串解析json.load(): 从文件对象解析
中文处理:
# 确保正确处理中文
json_str = '{"name": "张三"}'
data = json.loads(json_str)
print(data['name']) # 正常显示中文
# 输出时保持中文
print(json.dumps(data, ensure_ascii=False)) # {"name": "张三"}
反向操作:字典转 JSON 字符串
import json
data = {
"name": "赵六",
"age": 35,
"city": "广州"
}
# 转换为 JSON 字符串
json_str = json.dumps(data, ensure_ascii=False, indent=2)
print(json_str)
这样就可以轻松地在 JSON 字符串和 Python 字典之间进行转换了!
以上就是基于Python将JSON字符串转换为字典的详细内容,更多关于Python JSON转字典的资料请关注脚本之家其它相关文章!
相关文章
PyTorch计算损失函数对模型参数的Hessian矩阵示例
这篇文章主要为大家介绍了PyTorch计算损失函数对模型参数的Hessian矩阵的示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪2022-05-05
python爬虫之Appium爬取手机App数据及模拟用户手势
这篇文章主要介绍了python爬虫怎样通过Appium爬取手机App数据及模拟用户手势,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2021-08-08
python中os.stat().st_size、os.path.getsize()获取文件大小
本文介绍了使用os.stat()和os.path.getsize()函数获取文件大小,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2025-01-01
Python使用ConfigParser模块操作配置文件的方法
这篇文章主要介绍了Python使用ConfigParser模块操作配置文件的方法,结合实例形式分析了Python基于ConfigParser模块针对配置文件的创建、读取、写入、判断等相关操作技巧,需要的朋友可以参考下2018-06-06


最新评论