在 PowerShell 中用 ConvertFrom-Json 读取同时含 key 与 Key 的 JSON,不能把默认输出当成能稳定保留两个键的方案。适用条件要先限定:本机为 PowerShell 6.0 及以上时,可以评估 AsHashtable;7.3 起该参数给出有序 Hashtable,原 key 顺序才有保留条件。更早版本、默认 PSObject 输出以及不同补丁版本的实际表现,都要以本机版本和实际结果为准,不能套用“都会报错”或“都会保留最后一个”。

AI台式电脑工作台示意图
AI台式电脑维护示意图,非真实门店、技师或客户实拍。

从观察到的官方资料看,默认 PSObject 对大小写不同同名键存在限制,官方示例提到可能报错,参数说明也提到只保留最后一个。不能仅凭这两类表述推断每个版本的具体行为或差异原因,应保留实际版本、异常和输出记录。本题要核的是AsHashtable从6.0起可用,以及7.3起OrderedHashtable保序这两项边界,不因解析困难先改原JSON。

风险主要在三处。大小写不同的 key 与 Key 在默认转换中可能冲突,后续配置读取会拿到非预期结果;AsHashtable 能改善大小写不同键的保留问题,但精确相同的重复键不会因此全部保留,不能把它当成重复键清理工具;为让解析通过而修改原业务 key 的大小写,会改变数据语义,后续比对和写回都可能出错。输出类型也要注意:默认是 PSObject,AsHashtable 是 Hashtable,7.3 起为有序 Hashtable,下游代码要按实际类型核。

下一步建议用去敏后的原 JSON 副本核对,保留原始键名的大小写和顺序,记录默认转换与 AsHashtable 转换得到的键值、键数量和输出类型。若本机版本满足 6.0 起的要求,再评估 AsHashtable;若需要保原 key 顺序,还要确认是否达到 7.3 起的边界。若仍出现精确相同重复键,应回到数据源处理重复,而不是继续调参数。不要在原业务文件上直接试改。

城关区台式电脑用户可拨400-877-9605,先整理版本、原键大小写及去敏转换结果,不直接改业务键名。电脑快修网提供信息展示与第三方维修对接,具体地址、电脑侧检查是否支持及安排需当次核实,启用范围不代表即时履约。