WriteConfig 使用示例
示例:
import stdx.encoding.json.stream.{JsonWriter, WriteConfig, JsonSerializable}
import std.io.ByteBuffer
main() {
/* 构造 JsonWriter */
let buffer = ByteBuffer()
let writer = JsonWriter(buffer)
/* 设置 JSON 写格式配置 */
let fmtCfg = WriteConfig.pretty
writer.writeConfig = fmtCfg
/* 写 JSON */
writer.writeValue(MyObj())
/* 打印 JSON 序列化字符串 */
println(String.fromUtf8(buffer.bytes()))
}
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
}
}