diff --git a/src/json/JsonWriter.cj b/src/json/JsonWriter.cj index 30549ae..1245541 100644 --- a/src/json/JsonWriter.cj +++ b/src/json/JsonWriter.cj @@ -151,9 +151,13 @@ public class JsonWriter { } } - /// 判断 Any 值是否为 None(Option 枚举的 None 构造器) + /// 判断 Any 值是否为 None(Option 枚举的 None 构造器;非 Option 值返回 false) private static func isNoneValue(v: Any): Bool { - unwrapOptionValue(v).isNone() + if (let et: EnumTypeInfo <- TypeInfo.of(v)) { + let (ctor, _) = et.destruct(v) + return ctor.name == "None" + } + false } /// 若值为 Option 的 Some(x) 返回 Some(x);None 或非 Option 返回 None