WriteConfig 使用示例
代码如下:
import encoding.json.stream.{JsonWriter, WriteConfig, JsonSerializable}
import std.io.ByteArrayStream
main() {
// 构造 JsonWriter
let buffer = ByteArrayStream()
let writer = JsonWriter(buffer)
// 设置 JSON 写格式配置
let fmtCfg = WriteConfig.pretty
writer.writeConfig = fmtCfg
// 写 JSON
writer.writeValue(MyObj())
// 打印 JSON 序列化字符串
println(String.fromUtf8(buffer.bytes()))
0
}
// 支持 JSON 序列化的类
class MyObj <: JsonSerializable {
public func toJson(w: JsonWriter): Unit {
w.startObject()
w.writeName("Name").writeValue("zhangsan")
w.writeName("Age").writeValue(18)
w.writeName("Scores").writeValue([88.8, 99.9])
w.writeName("Class")
w.startObject()
w.writeName("Name").writeValue("Class A")
w.writeName("Students Number").writeValue(33)
w.endObject()
w.endObject()
w.flush()
}
}
运行结果:
{
"Name": "zhangsan",
"Age": 18,
"Scores": [
88.8,
99.9
],
"Class": {
"Name": "Class A",
"Students Number": 33
}
}