# swift-deserialization **Repository Path**: garvin_git/swift-deserialization ## Basic Information - **Project Name**: swift-deserialization - **Description**: swift的反序列化脚本。从json转为模型 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-11-21 - **Last Updated**: 2026-01-23 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 特性 **把JSON文件通过脚本转为Swift结构体数据模型。** **支持嵌套格式、平级格式。** **支持自定义过略JSON字段,忽略的字段不参与转为Swift数据模型。** ## 更新 2026-01-08 - 新增:可以为批量生成脚本制定路径 - 新增:批量生成脚本使用说明 2025-12-20 - 新增:新增批量生成脚本,调用之前的单个生成脚本 - 默认只生成resq,不生成req。req可以通过参数生成 - 默认名使用混淆路径的最后词语 2025-12-19 - 优化:JSON值中存在 https:// 情况下 // 跟注释(//)冲突导致的解析失败问题 - 添加:忽略字段,可以把想忽略的字段放到忽略容器中。忽略的JSON字段不会抓为Swift模型属性。 - 添加:忽略字段放到注释中。混淆前后的域名路径放到注释中,后续好根据path搜索对照。 ## 待优化 1. 需要优化平级结构体模式创建模型。有好的构思再更新。考虑到平级结构体情况再多个数据模型情况下结构体名称冲突。 ## 后续 1. ## 使用 ### 批量生成 #### 快速使用 - 在脚本内部修改 前缀(PREFIX)工程名(PROJECT_NAME)、选择需要创建的模型 - 执行脚本:python3 batch_json_to_swift.py --dir /Users/admin/work/shade/shadeai -o /Users/admin/xxx --include-req 默认只生成Response模型,添加该参数可以Request和Response模型 --dir 指定读取文件路径 -o 输出路径 使用默认目录:python3 batch_json_to_swift.py 指定自定义目录:python3 batch_json_to_swift.py --dir /path/to/your/json/files 结合其他参数:python3 batch_json_to_swift.py --include-req --dir /custom/path -o /Users/admin/xxx ### 单文件生成 python3 json_to_swift.py -p AIRush -o SDResponse -i model.json #### 示例: python3 json_to_swift.py -p AIRush -o RSAppleLoginResponseModel -i /Users/admin/work/AIRush/airush-api/apple_loginResp_enc.json python3 json_to_swift.py -p AIRush -o RSUserAccountResponseModel -i /Users/admin/work/AIRush/airush-api/userAccountResp_enc.json python3 json_to_swift.py -p AIRush -o RSGoodsCompleteResponse -i /Users/admin/work/AIRush/airush-api/payment_applepayResp_enc.json python3 json_to_swift.py -p AIRush -o RSKnightingResponse -i /Users/garvin/gitee/changlong/swift-deserialization/temp_AIRushAPI/danceTemplateResp_enc.json