如何用PowerShell从JSON提取多值生成指定内容并自定义文件名?
从manifest.json提取多字段并生成指定命名文件的实现方案
核心思路
- 解析
manifest.json文件,提取creator、title、package_version三个字段 - 从
title字段前缀提取ENGM并转为小写,生成目标文件名version_engm_msfs.txt - 按指定格式拼接内容,写入目标文件
示例代码(Python)
import json # 读取并解析manifest.json with open("manifest.json", "r", encoding="utf-8") as manifest_file: manifest_data = json.load(manifest_file) # 提取目标字段,用get方法避免字段缺失引发报错 creator = manifest_data.get("creator", "") title = manifest_data.get("title", "") package_version = manifest_data.get("package_version", "") # 生成输出内容 output_text = f"{creator} {title} - Microsoft Flight Simulator {package_version}" # 生成目标文件名:提取title前缀ENGM转小写 # 假设title以ENGM开头,取前4个字符转换 file_prefix = title[:4].lower() if len(title) >= 4 else "" output_filename = f"version_{file_prefix}_msfs.txt" # 将内容写入文件 with open(output_filename, "w", encoding="utf-8") as output_file: output_file.write(output_text)
关键细节说明
- 使用
json.load()解析JSON文件,确保能正确读取结构化数据 - 用
dict.get()方法提取字段,即使字段不存在也不会抛出异常,会返回指定的默认空字符串 - 文件名生成逻辑:截取
title前4个字符转为小写,适配ENGM前缀的需求;如果title长度不足4,会生成version__msfs.txt(可根据实际需求调整 fallback 逻辑) - 写入文件时指定
encoding="utf-8",避免中文或特殊字符出现乱码问题
内容的提问来源于stack exchange,提问作者Björn K
相关产品推荐
相关产品推荐

