Fast low-level JSON serializer for golang.
sampleMap := map[string]string{
"a": "apple",
"b": "banana",
"c": "car",
"d": "dog",
}
builder := jsonbldr.New()
// Setting the second parameter, omitempty, to false causes empty values to be ignored.
// Setting the third parameter, rawValues, to false causes each value to be wrapped in
// double quotes to make it a valid string.
builder.AddPairs(sampleMap, false, false)
builder.CloseObject()
log.Println(string(builder.Bytes()))
Output:
{"a":"apple","b":"banana","c":"car","d":"dog"}
sampleSlice := []string{"apple", "banana", "clementine", "durian"}
// Setting the third parameter, omitempty, to true causes empty values to be ignored.
// Setting the fourth parameter, rawValues, to false causes each value to be wrapped in double quotes
// to make it a valid string.
builder.AddArray("fruits", sampleSlice, true, false)
builder.CloseObject()
log.Println(string(builder.Bytes()))
Output:
{"fruits":["apple","banana","clementine","durian"]}
builder := jsonbldr.New()
builder.AddStringPair("lemon", "yellow")
builder.CloseObject()
log.Println(string(builder.Bytes())) // Output: {"lemon":"yellow"}
builder.Reset()
log.Println(len(builder.Bytes())) // Outputs 0