# Json解析导出工具 **Repository Path**: eucaplee/jsonProcessor ## Basic Information - **Project Name**: Json解析导出工具 - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-08-08 - **Last Updated**: 2025-08-08 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # JSON提取器 这是一个高效的Python工具,专门用于处理JSON文件,提取并转换其中的`jsonData`字段,特别适用于大规模数据处理场景。 ## 功能特点 1. **高效异步处理**:使用`asyncio`和`aiofiles`实现高效的异步文件处理,可以处理接近10万条数据 2. **专注核心功能**:专注于提取和转换jsonData,代码精简高效 3. **智能文本合并**:将`descriptions`、`activityTitle`和`problemDescription`等字段智能合并,形成context属性 4. **描述排序**:自动将descriptions数组按日期倒序排列,并添加进展标识 5. **简单易用**:提供简单的命令行接口和脚本,方便快速处理数据 ## 数据处理 工具会对JSON数据进行以下处理: - 从`jsonData`数组中提取每个项目 - 将`descriptions`数组中的内容按日期倒序排列,并添加进展标识("最新进展"、"第x个进展") - 将`activityTitle`和`problemDescription`与进展描述整合,形成完整的context属性 - 保留原始数据的同时,添加新的context属性 ## 安装 ### 使用安装脚本 ```bash # 安装依赖 chmod +x install.sh ./install.sh ``` ### 手动安装 ```bash # 安装 pip install -e . ``` ## 使用方法 ### 使用脚本 提供了一个简单的脚本,可以直接处理文件或目录: ```bash # 给脚本添加执行权限 chmod +x extract.sh # 处理单个文件 ./extract.sh input.json output.json # 处理目录 ./extract.sh input_dir/ output_dir/ ``` ### 命令行使用 安装后,可以通过命令行直接使用: ```bash # 处理单个文件 json-extractor input.json output.json # 处理目录 json-extractor input_dir/ output_dir/ ``` ### 在Python代码中使用 ```python import asyncio from json_processor import JsonExtractor async def process(): # 创建提取器实例 extractor = JsonExtractor() # 处理单个文件 await extractor.process_file("input.json", "output.json") # 处理目录 await extractor.process_directory("input_dir/", "output_dir/") # 运行异步函数 asyncio.run(process()) ``` ## 示例 在`examples`目录中提供了使用示例: ```bash # 运行示例 python examples/extractor_example.py ``` ## 数据格式 ### 输入格式示例 ```json { "id": "task-12345", "timestamp": "2023-08-08T12:00:00Z", "source": "issue-tracker", "jsonData": [ { "taskId": "PROJ-123", "activityTitle": "系统性能优化", "problemDescription": "用户反馈系统在高并发情况下响应缓慢", "assignee": "张工程师", "priority": "高", "status": "进行中", "descriptions": [ { "date": "2023-08-01T10:00:00Z", "content": "开始分析系统日志,发现数据库查询效率低下" }, { "date": "2023-08-03T14:30:00Z", "content": "优化了数据库索引,查询速度提升了30%" } ], "tags": ["性能优化", "数据库", "缓存"] } ] } ``` ### 输出格式示例 ```json [ { "taskId": "PROJ-123", "activityTitle": "系统性能优化", "problemDescription": "用户反馈系统在高并发情况下响应缓慢", "assignee": "张工程师", "priority": "高", "status": "进行中", "descriptions": [ { "date": "2023-08-03T14:30:00Z", "content": "优化了数据库索引,查询速度提升了30%" }, { "date": "2023-08-01T10:00:00Z", "content": "开始分析系统日志,发现数据库查询效率低下" } ], "tags": ["性能优化", "数据库", "缓存"], "context": "任务:系统性能优化\n问题描述:用户反馈系统在高并发情况下响应缓慢\n进展跟踪:\n最新进展于2023年08月03日,优化了数据库索引,查询速度提升了30%\n第2个进展于2023年08月01日,开始分析系统日志,发现数据库查询效率低下" } ] ``` ## 许可证 MIT