当前位置: 首页 > news >正文

Python的json模块和jsonpath模块

一.json模块

Python的json模块是一个内置的标准库,用于处理JSON数据,它提供了Python对象和JSON格式之间进行转换的简单接口。

1. 核心函数概览

json 模块主要包含 4 个核心函数和 2 个类:

核心函数:

  • json.dumps() - 序列化为字符串

  • json.dump() - 序列化到文件(将python对象写入json文件)

  • json.loads() - 从字符串反序列化

  • json.load() - 从文件反序列化(读取json文件的数据并转换为Python对象)

核心类:

  • JSONEncoder - 自定义编码器

  • JSONDecoder - 自定义解码器

1.基础用法

1.将Python对象转换为JSON字符串(编码)

import json
# Python 字典
data = {"name": "张三","age": 30,"city": "北京","is_student": False,"hobbies": ["读书", "游泳", "编程"],"scores": {"数学": 95, "英语": 88}
}
json_str = json.dumps(data)
print(json_str)

输出:

{"name": "\u5f20\u4e09", "age": 30, "city": "\u5317\u4eac", "is_student": false, "hobbies": ["\u8bfb\u4e66", "\u6e38\u6cf3", "\u7f16\u7a0b"], "scores": {"\u6570\u5b66": 95, "\u82f1\u8bed": 88}}

json.jumps()函数

jump 跳跃

作用:将Python对象编码成JSON字符串

主要参数:json.dumps(obj,ensure_ascii=False)

参数解释:

obj:要序列化的Python对象

ensre_ascii:默认值为True,表示确保输出的所有非ASCII字符都被转义,转义成\uxxxx形式的Unicode转义序列(历史性兼容问题,确保JSON字符串只包含ASCII字符,可以在任何系统上安全传输,可以避免目标系统不支持UTF-8编码而导致的乱码问题);如果设置为False,则这些字符都会被原样输出

json_str = json.dumps(data,ensure_ascii=False)

输出:

{"name": "张三", "age": 30, "city": "北京", "is_student": false, "hobbies": ["读书", "游泳", "编程"], "scores": {"数学": 95, "英语": 88}}

2.将JSON字符串转换为Python对象

import json
# JSON 字符串
json_data = '{"name": "李四", "age": 25, "city": "上海"}'# 转换为 Python 字典
python_dict = json.loads(json_data)
print(python_dict)
print(type(python_dict))

输出:

{'name': '李四', 'age': 25, 'city': '上海'}
<class 'dict'>

2.jsonpath模块

JsonPath是用于从JSON文件中提取数据的查询语言,类似于XPath用于XML文档

jsonpath是Python的一个第三方模块,实现了JsonPath语法,使你能够从复杂的JSON数据中提取到你想要的信息

http://www.dtcms.com/a/609179.html

相关文章:

  • Crawl4ai 框架的学习与使用
  • hadoop节点扩容和缩容操作流程
  • RDF 与 RDFS:知识图谱推理的基石
  • 最新轻量版域名防红跳转源码 带后台 支持随机跳转有效放屏蔽
  • linux: udp服务器与客户端 CS 基于ipv4的地址结构体
  • 做食品网站需要什么条件手机靓号网站建设
  • 运筹说145期:从快递到自动驾驶:启发式算法的智慧幕后
  • 如何选择合适的养老服务机器人
  • 微博评论数据采集:基于Requests的智能爬虫实战
  • 数据挖掘概述
  • 51c自动驾驶~合集43
  • Go语言反编译:深入分析与技术探索 | 从原理到实践,全面解析Go反编译的实现和应用
  • ASP.NET Core 10
  • 2025新加坡金融科技节:看AI驱动的金融转型策略与“中国方案”
  • 站群seo技巧济南企业网站设计
  • 网站类游戏网站开发犀牛云做网站推广怎么样
  • 嵌入式网络编程实战:从Socket基础到高并发优化
  • 基于UDP协议的英汉翻译服务系统:从网络通信到字典查询的完整机制
  • 在ec2上部署indexTTS和尝试部署sparkTTS模型
  • IP种子技术:构建全球P2P网络实时监测方案
  • Kali远程桌面+cpolar:网络安全攻防的跨域协作新范式
  • 网络安全学习困扰及解决建议
  • 黑马点评学习笔记11(Redission)
  • 计算机网络复习日报18
  • 网站开发合同知识产权wordpress gettheid
  • Redis 全体系深度解析(架构原理、性能模型、使用场景、持久化机制、过期策略与最佳实践)
  • 百度世界 2025 核心看点:文心 5.0、萝卜快跑、惠博星数字人、伐谋智能体齐亮相!
  • 【百度拥抱开源】介绍ERNIE-4.5-VL-28B-A3B-Thinking:多模态AI的重大突破
  • HarmonyOS分布式输入法开发:实现多设备无缝输入体验
  • 基于GIS的智慧旅游调度指挥平台