结构体
struct WriteConfig
public struct WriteConfig {
public static let compact: WriteConfig
public static let pretty: WriteConfig
public mut prop htmlSafe: Bool
public mut prop indent: String
public mut prop newline: String
public mut prop useSpaceAfterSeparators: Bool
public mut prop dateTimeFormat: DateTimeFormat
}
功能:用于表示 JsonWriter 的序列化格式配置。
示例:
使用示例见 WriteConfig 使用示例。
static let compact
public static let compact: WriteConfig
功能:提供紧凑的序列化格式。
说明:
compact 的各属性值为:
- newline: "",空字符串。
- indent: "",空字符串。
- useSpaceAfterSeparators: false。
- htmlSafe: false。
- dateTimeFormat: DateTimeFormat.RFC3339。
类型:WriteConfig
示例:
{"Name":"zhangsan","Age":18,"Scores":[88.8,99.9],"Class":{"Name":"Class A","Students Number":33}}
static let pretty
public static let pretty: WriteConfig
功能:提供整洁的序列化格式。
说明:
pretty 的各属性值为:
- newline: "\n"。
- indent: " ",包含4个空格的字符串。
- useSpaceAfterSeparators: true。
- htmlSafe: false。
- dateTimeFormat: DateTimeFormat.RFC3339。
类型:WriteConfig
示例:
{
"Name": "zhangsan",
"Age": 18,
"Scores": [
88.8,
99.9
],
"Class": {
"Name": "Class A",
"Students Number": 33
}
}
prop dateTimeFormat
public mut prop dateTimeFormat: DateTimeFormat
功能:用于序列化 DateTime 类型时的格式控制,功能与 DateTime 的 func toString(DateTimeFormat)一致。
prop htmlSafe
public mut prop htmlSafe: Bool
功能:用于表示是否转义 HTML 字符 <
、>
、&
、=
和'
。
该值为 true 时,会将 HTML 字符转义为对应的 Unicode 编码的字符串。
该选项只对 json value 中的字符串字面量有效。
类型:Bool
prop indent
public mut prop indent: String
功能:用于表示序列化时每个缩进级别填入的缩进字符串。取值应匹配正则 ^[ \t]*$
。
当上述的换行起作用时,该值会作为换行后的填充符。
类型:String
异常:
- IllegalArgumentException - 设置的字符串包含 ' ' 或者 '\t' 以外的字符。
prop newline
public mut prop newline: String
功能:用于表示序列化时填入的换行符。取值应匹配正则 ^[\r\n]*$
。
当该值不为空字符串且合法时,JsonWriter 调用 startObject 和 startArray 操作、插入元素、以及它们的结束操作会产生新的换行。
当该值为空字符串时,不会触发换行。
类型:String
异常:
- IllegalArgumentException - 设置的字符串包含 '\r' 或者 '\n' 以外的字符。
prop useSpaceAfterSeparators
public mut prop useSpaceAfterSeparators: Bool
功能:用于表示序列化时在 ':' 和 ',' 后是否加一个空格。
该值为 true 时,每插入一个 field name 或者 array 元素后会自动写入一个空格。
该选项只对 json Object 中的 field 以及 json Array 中的元素有效。
类型:Bool