import "github.com/fufuok/utils/xjson/jsongen"
Package jsongen forked from darjun/json-gen
Package jsongen Copyright 2024 Joshua J Baker. All rights reserved. Use of this source code is governed by an MIT-style license that can be found in the LICENSE file.
https://github.com/tidwall/gjson
- Variables
- func AppendJSONString(dst []byte, s string) []byte
- func EscapeString(s string) string
- type Array
- func NewArray() *Array
- func (a *Array) AppendArray(vv ...*Array)
- func (a *Array) AppendArrayArray(vv []*Array)
- func (a *Array) AppendBool(vv ...bool)
- func (a *Array) AppendBoolArray(vv []bool)
- func (a *Array) AppendFloat(vv ...float64)
- func (a *Array) AppendFloatArray(vv []float64)
- func (a *Array) AppendInt(vv ...int64)
- func (a *Array) AppendIntArray(vv []int64)
- func (a *Array) AppendMap(vv ...*Map)
- func (a *Array) AppendMapArray(vv []*Map)
- func (a *Array) AppendRawBytes(bb ...[]byte)
- func (a *Array) AppendRawBytesArray(vv [][]byte)
- func (a *Array) AppendRawString(ss ...string)
- func (a *Array) AppendRawStringArray(ss []string)
- func (a *Array) AppendString(vv ...string)
- func (a *Array) AppendStringArray(vv []string)
- func (a *Array) AppendUint(vv ...uint64)
- func (a *Array) AppendUintArray(vv []uint64)
- func (a *Array) Serialize(buf []byte) []byte
- func (a *Array) Size() int
- type Map
- func NewMap() *Map
- func (m *Map) PutArray(key string, oa *Array)
- func (m *Map) PutBool(key string, b bool)
- func (m *Map) PutBoolArray(key string, b []bool)
- func (m *Map) PutFloat(key string, f float64)
- func (m *Map) PutFloatArray(key string, f []float64)
- func (m *Map) PutInt(key string, i int64)
- func (m *Map) PutIntArray(key string, i []int64)
- func (m *Map) PutMap(key string, om *Map)
- func (m *Map) PutRawBytes(key string, b []byte)
- func (m *Map) PutRawBytesArray(key string, bs [][]byte)
- func (m *Map) PutRawString(key, s string)
- func (m *Map) PutRawStringArray(key string, ss []string)
- func (m *Map) PutString(key, s string)
- func (m *Map) PutStringArray(key string, s []string)
- func (m *Map) PutUint(key string, u uint64)
- func (m *Map) PutUintArray(key string, u []uint64)
- func (m *Map) Serialize(buf []byte) []byte
- func (m *Map) Size() int
- type RawBytes
- type RawString
- type V
- type Value
DisableEscapeHTML will disable the automatic escaping of certain "problamatic" HTML characters when encoding to JSON. These character include '>', '<' and '&', which get escaped to \u003e, \u0026, and \u003c respectively.
This is a global flag and will affect all further gjson operations. Ideally, if used, it should be set one time before other gjson functions are called.
var DisableEscapeHTML = false
func AppendJSONString(dst []byte, s string) []byte
AppendJSONString is a convenience function that converts the provided string to a valid JSON string and appends it to dst.
func EscapeString(s string) string
EscapeString 转义 JSON 字符串, 并在前后加上双引号
Array 数组类的 JSON 数据
type Array struct {
// contains filtered or unexported fields
}
func NewArray() *Array
NewArray 创建 JSON 数组, 无添加值时, 结果中至少附加一个空数组: []
func (a *Array) AppendArray(vv ...*Array)
AppendArray 追加单个或多个 array 到数组: [1,2] => [1,2,[{"A":1}],[true]]
func (a *Array) AppendArrayArray(vv []*Array)
AppendArrayArray 追加 array 数组: [1,2] => [1,2,[[3],[4],[{"b":true}]]]
func (a *Array) AppendBool(vv ...bool)
AppendBool 追加单个或多个 bool 到数组: [1,2] => [1,2,true,false]
func (a *Array) AppendBoolArray(vv []bool)
AppendBoolArray 追加 bool 数组: [1,2] => [1,2,[true,false]]
func (a *Array) AppendFloat(vv ...float64)
AppendFloat 追加单个或多个 float64 到数组: [1,2] => [1,2,3.1,4]
func (a *Array) AppendFloatArray(vv []float64)
AppendFloatArray 追加 float64 数组: [1,2] => [1,2,[3,4.1,5]]
func (a *Array) AppendInt(vv ...int64)
AppendInt 追加单个或多个 int64 到数组: [1,2] => [1,2,3,4]
func (a *Array) AppendIntArray(vv []int64)
AppendIntArray 追加 int64 数组: [1,2] => [1,2,[3,4,5]]
func (a *Array) AppendMap(vv ...*Map)
AppendMap 追加单个或多个 map 到数组: [1,2] => [1,2,{"A":1},{"b":true}]
func (a *Array) AppendMapArray(vv []*Map)
AppendMapArray 追加 map 数组: [1,2] => [1,2,[{"A":1},{"b":true}]]
func (a *Array) AppendRawBytes(bb ...[]byte)
AppendRawBytes 追加单个或多个原生 JSON 数据
func (a *Array) AppendRawBytesArray(vv [][]byte)
AppendRawBytesArray 追加原生 JSON 数据数组
func (a *Array) AppendRawString(ss ...string)
AppendRawString 追加单个或多个原生 JSON 字符串, 如: [1,2] => [1,2,[2,{"A":1}]] a.AppendRawString(`[2,{"A":1}]`)
func (a *Array) AppendRawStringArray(ss []string)
AppendRawStringArray 追加原生 JSON 字符串数组: [1,2] => [1,2,["x",[4],[{"b":true}]]] a.AppendRawStringArray([]string{`"x"`, `[4]`, `[{"b":true}]`})
func (a *Array) AppendString(vv ...string)
AppendString 追加单个或多个 string 到数组: [1,2] => [1,2,"A","b"] a.AppendString("A", "b")
func (a *Array) AppendStringArray(vv []string)
AppendStringArray 追加 string 数组: [1,2] => [1,2,["A","b"]] a.AppendStringArray([]string{"A","b"})
func (a *Array) AppendUint(vv ...uint64)
AppendUint 追加单个或多个 uint64 到数组: [1,2] => [1,2,3,4]
func (a *Array) AppendUintArray(vv []uint64)
AppendUintArray 追加 uint64 数组: [1,2] => [1,2,[3,4,5]]
func (a *Array) Serialize(buf []byte) []byte
func (a *Array) Size() int
Map 对象类(字典) JSON 数据
type Map struct {
// contains filtered or unexported fields
}
func NewMap() *Map
NewMap 创建对象类(字典) JSON 数据集, 无添加值时, 结果中至少附加一个空对象: {}
func (m *Map) PutArray(key string, oa *Array)
PutArray 添加值为数组的数据项: {"A":[1,true,"x"]}
func (m *Map) PutBool(key string, b bool)
func (m *Map) PutBoolArray(key string, b []bool)
func (m *Map) PutFloat(key string, f float64)
func (m *Map) PutFloatArray(key string, f []float64)
func (m *Map) PutInt(key string, i int64)
func (m *Map) PutIntArray(key string, i []int64)
func (m *Map) PutMap(key string, om *Map)
PutMap 添加值为对象(字典)的数据项, map 嵌套: {"A":{"sub":1}}
func (m *Map) PutRawBytes(key string, b []byte)
func (m *Map) PutRawBytesArray(key string, bs [][]byte)
func (m *Map) PutRawString(key, s string)
func (m *Map) PutRawStringArray(key string, ss []string)
func (m *Map) PutString(key, s string)
func (m *Map) PutStringArray(key string, s []string)
func (m *Map) PutUint(key string, u uint64)
func (m *Map) PutUintArray(key string, u []uint64)
PutUintArray 添加 uint64 数组数据项: {"A":[1,2]}
func (m *Map) Serialize(buf []byte) []byte
func (m *Map) Size() int
RawBytes 附加原生 JSON 数据
type RawBytes []byte
func (b RawBytes) Serialize(buf []byte) []byte
func (b RawBytes) Size() int
RawString 附加原生 JSON 数据字符串形式, 如直接附加: `[1,{"A":1}]`
type RawString string
func (s RawString) Serialize(buf []byte) []byte
func (s RawString) Size() int
V 表示标准的 JSON 值,例如: 123,1.23,true 等 字符串值是以双引号包裹的字符串, 如: "abc"
type V string
func (v V) Serialize(buf []byte) []byte
func (v V) Size() int
type Value interface {
// Serialize 将值序列化为字符串, 追加到 buf 并返回
Serialize(buf []byte) []byte
// Size 返回值最终字节数
Size() int
}
Generated by gomarkdoc