Files
serialization-cj/src/json/JsonOption.cj
T
xrain 0bc7e213f9 refactor: 全部实现移入 json 子包,attributes 改名 annotations
- src/Json*.cj → src/json/(包 simapi_serialization.json,对应 .NET System.Text.Json)
- src/attributes → src/json/annotations/(包 simapi_serialization.json.annotations)
- 根包 simapi_serialization 保留为 cjpm 扫描锚点,public import 重导出 json + annotations
- 用法:import simapi_serialization.*(重导出)或 import simapi_serialization.json.* / .json.annotations.*
2026-08-17 11:03:01 +08:00

41 lines
1.2 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/*
* Copyright (c) 2025 SimcuTeam. All rights reserved.
* JsonOption:序列化选项(对齐 .NET JsonSerializerOptions)。
*/
package simapi_serialization.json
/**
* 属性命名策略(对齐 .NET JsonNamingPolicy)。
*/
public enum PropertyNamingPolicy {
/// 字段名原样(_username → _username
| None
/// 去前导下划线 + 首字母小写(_username → username,对齐 simapi/soulsoft 默认)
| CamelCase
/// 蛇形(userName → user_name_username → username
| SnakeCase
}
/**
* 序列化选项。
*/
public class JsonOption {
/// 属性命名策略(默认 CamelCase)
public var propertyNamingPolicy: PropertyNamingPolicy = PropertyNamingPolicy.CamelCase
/// 序列化时是否忽略 null/None 字段(默认 falseNone 输出 null
public var ignoreNull: Bool = false
/// 枚举序列化为名字(默认 true;false 暂按名字输出,数字模式后续支持)
public var enumAsString: Bool = true
/// 递归深度上限(默认 64)
public var maxDepth: Int64 = 64
public init() {}
/// 默认选项实例
public static let instance = JsonOption()
}