jsontext: add support for encoding null (#5371)

This commit is contained in:
Marten Seemann
2025-10-11 13:08:06 +08:00
committed by GitHub
parent ca05442ab9
commit ae909aeb72
2 changed files with 33 additions and 1 deletions

View File

@@ -19,6 +19,7 @@ const (
kindUint
kindFloat
kindBool
kindNull
kindObjectStart
kindObjectEnd
kindArrayStart
@@ -60,6 +61,9 @@ func Bool(b bool) Token {
return Token{kind: kindBool, b: b}
}
// Null is a null token.
var Null Token = Token{kind: kindNull}
// BeginObject is the begin object token.
var BeginObject Token = Token{kind: kindObjectStart}
@@ -86,6 +90,7 @@ var (
colonByte = []byte(":")
trueByte = []byte("true")
falseByte = []byte("false")
nullByte = []byte("null")
openObjectByte = []byte("{")
closeObjectByte = []byte("}")
openArrayByte = []byte("[")
@@ -256,6 +261,11 @@ func (e *Encoder) WriteToken(t Token) error {
}
}
e.afterValue()
case kindNull:
if _, err = e.w.Write(nullByte); err != nil {
return err
}
e.afterValue()
case kindObjectStart:
if _, err = e.w.Write(openObjectByte); err != nil {
return err