Documentation
¶
Overview ¶
包gjson提供了处理JSON/XML/INI/YAML/TOML数据的便捷API。 md5:ddbf6ad5d309a49c
Index ¶
- func Json格式到变量(值 interface{}, 选项 ...X结构_选项) (interface{}, error)
- func Json格式到变量指针(值 interface{}, 变量指针 interface{}, 选项 ...X结构_选项) (错误 error)
- func X变量到json字节集(值 interface{}) ([]byte, error)
- func X变量到json字节集PANI(值 interface{}) []byte
- func X变量到json文本(值 interface{}) (string, error)
- func X变量到json文本PANI(值 interface{}) string
- func X弃用_Marshal(v interface{}) (marshaledBytes []byte, 错误 error)
- func X弃用_MarshalIndent(v interface{}, prefix, indent string) (marshaledBytes []byte, 错误 error)
- func X弃用_Unmarshal(data []byte, v interface{}) (错误 error)
- func X是否为有效json(值 interface{}) bool
- func X检查类型(待判断值 X类型_ContentType) bool
- type X类型_ContentType
- type X结构_Json
- func X创建(值 interface{}, 并发安全 ...bool) *X结构_Json
- func X创建并按类型标签(值 interface{}, 类型标签 string, 并发安全 ...bool) *X结构_Json
- func X创建并按选项(值 interface{}, 选项 X结构_选项) *X结构_Json
- func X加载Properties(值 interface{}, 并发安全 ...bool) (*X结构_Json, error)
- func X加载Toml(值 interface{}, 并发安全 ...bool) (*X结构_Json, error)
- func X加载Yaml(值 interface{}, 并发安全 ...bool) (*X结构_Json, error)
- func X加载ini(值 interface{}, 并发安全 ...bool) (*X结构_Json, error)
- func X加载json(值 interface{}, 并发安全 ...bool) (*X结构_Json, error)
- func X加载xml(值 interface{}, 并发安全 ...bool) (*X结构_Json, error)
- func X加载并按格式(类型标签 X类型_ContentType, 值 interface{}, 并发安全 ...bool) (*X结构_Json, error)
- func X加载并按选项(值 interface{}, 选项 X结构_选项) (*X结构_Json, error)
- func X加载并自动识别格式(值 interface{}, 并发安全 ...bool) (*X结构_Json, error)
- func X加载文件(路径 string, 并发安全 ...bool) (*X结构_Json, error)
- func X解码到json(值 interface{}, 选项 ...X结构_选项) (*X结构_Json, error)
- func (j *X结构_Json) Interface() interface{}
- func (j X结构_Json) MarshalJSON() ([]byte, error)
- func (j *X结构_Json) String() string
- func (j *X结构_Json) UnmarshalJSON(b []byte) error
- func (j *X结构_Json) UnmarshalValue(值 interface{}) error
- func (j *X结构_Json) X删除(表达式 string) error
- func (j *X结构_Json) X删除PANI(表达式 string)
- func (j *X结构_Json) X加入(表达式 string, 值 interface{}) error
- func (j *X结构_Json) X加入PANI(表达式 string, 值 interface{})
- func (j *X结构_Json) X取Map() map[string]interface{}
- func (j *X结构_Json) X取MapStrAny() map[string]interface{}
- func (j *X结构_Json) X取TOML字节集() ([]byte, error)
- func (j *X结构_Json) X取TOML字节集PANI() []byte
- func (j *X结构_Json) X取TOML文本() (string, error)
- func (j *X结构_Json) X取TOML文本PANI() string
- func (j *X结构_Json) X取YAML字节集() ([]byte, error)
- func (j *X结构_Json) X取YAML字节集PANI() []byte
- func (j *X结构_Json) X取YAML字节集并格式化(缩进 string) ([]byte, error)
- func (j *X结构_Json) X取YAML文本() (string, error)
- func (j *X结构_Json) X取YAML文本PANI() string
- func (j *X结构_Json) X取any数组() []interface{}
- func (j *X结构_Json) X取ini字节集() ([]byte, error)
- func (j *X结构_Json) X取ini字节集PANI() []byte
- func (j *X结构_Json) X取ini文本() (string, error)
- func (j *X结构_Json) X取ini文本PANI() string
- func (j *X结构_Json) X取json字节集() ([]byte, error)
- func (j *X结构_Json) X取json字节集PANI() []byte
- func (j *X结构_Json) X取json字节集并格式化() ([]byte, error)
- func (j *X结构_Json) X取json字节集并格式化PANI() []byte
- func (j *X结构_Json) X取json文本() (string, error)
- func (j *X结构_Json) X取json文本PANI() string
- func (j *X结构_Json) X取json文本并格式化() (string, error)
- func (j *X结构_Json) X取json文本并格式化PANI() string
- func (j *X结构_Json) X取properties字节集() ([]byte, error)
- func (j *X结构_Json) X取properties字节集PANI() []byte
- func (j *X结构_Json) X取properties文本() (string, error)
- func (j *X结构_Json) X取properties文本PANI() string
- func (j *X结构_Json) X取xml字节集(rootTag ...string) ([]byte, error)
- func (j *X结构_Json) X取xml字节集PANI(rootTag ...string) []byte
- func (j *X结构_Json) X取xml字节集并格式化(rootTag ...string) ([]byte, error)
- func (j *X结构_Json) X取xml字节集并格式化PANI(rootTag ...string) []byte
- func (j *X结构_Json) X取xml文本(rootTag ...string) (string, error)
- func (j *X结构_Json) X取xml文本PANI(rootTag ...string) string
- func (j *X结构_Json) X取xml文本并格式化(rootTag ...string) (string, error)
- func (j *X结构_Json) X取xml文本并格式化PANI(rootTag ...string) string
- func (j *X结构_Json) X取值(表达式 string, 默认值 ...interface{}) *gvar.X结构_泛型类
- func (j *X结构_Json) X取对象(表达式 string, 默认值 ...interface{}) *X结构_Json
- func (j *X结构_Json) X取对象Map(表达式 string, 默认值 ...interface{}) map[string]*X结构_Json
- func (j *X结构_Json) X取对象数组(表达式 string, 默认值 ...interface{}) []*X结构_Json
- func (j *X结构_Json) X取成员数(表达式 string) int
- func (j *X结构_Json) X取数组() []interface{}
- func (j *X结构_Json) X取文本() string
- func (j *X结构_Json) X取泛型类() *gvar.X结构_泛型类
- func (j *X结构_Json) X取结构或结构数组(变量指针 interface{}, 名称映射Map ...map[string]string) error
- func (j *X结构_Json) X是否为Nil() bool
- func (j *X结构_Json) X是否存在(表达式 string) bool
- func (j *X结构_Json) X设置值(表达式 string, 值 interface{}) error
- func (j *X结构_Json) X设置值PANI(表达式 string, 值 interface{})
- func (j *X结构_Json) X设置分层冲突检查(启用 bool)
- func (j *X结构_Json) X设置表达式分隔符(分隔符 byte)
- func (j *X结构_Json) X调试输出()
- type X结构_选项
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Json格式到变量 ¶
Json格式到变量 将 JSON 格式的 `data` 解码为 Go 语言变量。 参数 `data` 可以是字节切片或字符串类型。 md5:8c3a611dab2c0896
func Json格式到变量指针 ¶
Json格式到变量指针 将json格式的 `data` 解码到指定的golang变量 `v`。 参数 `data` 可以是字节切片或字符串类型。 参数 `v` 应该是一个指针类型。 md5:bc0dc16b58d95bda
func X变量到json字节集 ¶
X变量到json字节集 将任何 Go 语言变量 `value` 编码为 JSON 字节。 md5:25418d619ec52d3a
func X变量到json字节集PANI ¶
func X变量到json字节集PANI(值 interface{}) []byte
X变量到json字节集PANI 的行为与 Encode 相同,但如果发生任何错误,它会直接 panic。 md5:baf6676afd45559a
func X变量到json文本 ¶
X变量到json文本 将任何 Go 语言变量 `value` 编码为 JSON 字符串。 md5:b54e604cb403b55a
func X变量到json文本PANI ¶
func X变量到json文本PANI(值 interface{}) string
X变量到json文本PANI 将任何 Go 语言变量 `value` 编码为 JSON 字符串。如果发生任何错误,它将引发 panic。 md5:05f6a19afa24c836
func X弃用_Marshal ¶
X弃用_Marshal 是 Encode 函数的别名,目的是为了适应 json.X弃用_Marshal/Unmarshal 函数的习惯用法。 md5:ff4e462ef9c849f2
func X弃用_MarshalIndent ¶
X弃用_MarshalIndent 是 json.X弃用_MarshalIndent 的别名,以适应使用 json.X弃用_MarshalIndent 函数的习惯。 md5:285efc00996caf06
func X弃用_Unmarshal ¶
X弃用_Unmarshal是DecodeTo的别名,以适应json.Marshal/X弃用_Unmarshal函数的习惯。 md5:dcb4ee0dfccdb10a
func X是否为有效json ¶
func X是否为有效json(值 interface{}) bool
X是否为有效json 检查 `data` 是否是有效的 JSON 数据类型。参数 `data` 指定 JSON 格式的数据,可以是字节或字符串类型。 md5:a1bbf790f78e4608
func X检查类型 ¶
func X检查类型(待判断值 X类型_ContentType) bool
X检查类型 检查并返回给定的 `dataType` 是否是用于加载的有效数据类型。 md5:3cc6cab5a2631a3e
Types ¶
type X类型_ContentType ¶
type X类型_ContentType string
const ( X常量_ContentTypeJson X类型_ContentType = `json` X常量_ContentTypeJs X类型_ContentType = `js` X常量_ContentTypeXml X类型_ContentType = `xml` X常量_ContentTypeIni X类型_ContentType = `ini` X常量_ContentTypeYaml X类型_ContentType = `yaml` X常量_ContentTypeYml X类型_ContentType = `yml` X常量_ContentTypeToml X类型_ContentType = `toml` X常量_ContentTypeProperties X类型_ContentType = `properties` )
type X结构_Json ¶
type X结构_Json struct {
// contains filtered or unexported fields
}
X结构_Json 是自定义的JSON结构体。 md5:764b883e7cf79da7
func X创建 ¶
X创建 使用任何类型的`data`创建一个Json对象,但为了数据访问的原因,`data`应该是map或slice, 否则将失去意义。
参数`safe`指定是否在并发安全的上下文中使用此Json对象,默认值为false。 md5:b84f401db24e69d8
func X创建并按类型标签 ¶
X创建并按类型标签 创建一个Json对象,可以包含任何类型的`data`,但出于数据访问的原因,`data`应该是一个map或切片,否则将没有意义。
参数`tags`用于指定结构体转换为map的优先标签,多个标签之间用逗号分隔。
参数`safe`表示是否在并发安全上下文中使用这个Json对象,默认为false。 md5:2558f08f4f082a16
func X创建并按选项 ¶
X创建并按选项使用任何类型的'data'创建一个Json对象,但出于数据访问的原因,`data`应该是map或切片,否则将没有意义。 md5:48be1828a6556518
func X加载Properties ¶
X加载Properties 从给定的TOML格式内容创建一个Json对象。 md5:aacff07e57605d82
func X加载并按格式 ¶
func X加载并按格式(类型标签 X类型_ContentType, 值 interface{}, 并发安全 ...bool) (*X结构_Json, error)
X加载并按格式 根据给定的类型和内容创建一个 JSON 对象,支持以下数据内容类型: JSON, XML, INI, YAML 和 TOML. md5:7db5bd0b429fea01
func X加载并自动识别格式 ¶
X加载并自动识别格式 根据给定的内容创建一个Json对象,它会自动检查`content`的数据类型, 支持如下数据内容类型: JSON、XML、INI、YAML和TOML。 md5:e930374f4ac3b32e
func (*X结构_Json) Interface ¶
func (j *X结构_Json) Interface() interface{}
Interface 返回 json 值。 md5:63120da1c18a889c
func (X结构_Json) MarshalJSON ¶
MarshalJSON 实现了接口 MarshalJSON 以供 json.Marshal 使用。 md5:43c3b36e60a18f9a
func (*X结构_Json) UnmarshalJSON ¶
UnmarshalJSON实现了json.Unmarshal接口的UnmarshalJSON方法。 md5:f6766b88cf3d63c2
func (*X结构_Json) UnmarshalValue ¶
UnmarshalValue 是一个接口实现,用于将任何类型的值设置为 Json。 md5:4cedac254443f4c3
func (*X结构_Json) X取Map ¶
X取Map 将当前的 Json 对象转换为 map[string]interface{}。 如果转换失败,它将返回 nil。 md5:599d2c152000d26b
func (*X结构_Json) X取MapStrAny ¶
X取MapStrAny 实现了接口函数 X取MapStrAny()。 md5:e07c56a48f2ed248
func (*X结构_Json) X取TOML字节集PANI ¶
func (*X结构_Json) X取TOML文本PANI ¶
func (*X结构_Json) X取YAML字节集PANI ¶
func (*X结构_Json) X取YAML文本PANI ¶
func (*X结构_Json) X取any数组 ¶
func (j *X结构_Json) X取any数组() []interface{}
X取any数组 实现了接口函数 X取any数组()。 md5:b4dff925202b8b35
func (*X结构_Json) X取ini字节集PANI ¶
func (*X结构_Json) X取json字节集PANI ¶
func (*X结构_Json) X取json字节集并格式化 ¶
func (*X结构_Json) X取json字节集并格式化PANI ¶
func (*X结构_Json) X取json文本PANI ¶
func (*X结构_Json) X取json文本并格式化 ¶
func (*X结构_Json) X取json文本并格式化PANI ¶
func (*X结构_Json) X取properties字节集 ¶
======================================================================== 属性 ======================================================================== 将json格式的属性转换为properties格式 md5:83a506c62c95394b
func (*X结构_Json) X取properties字节集PANI ¶
func (*X结构_Json) X取properties文本 ¶
TopropertiesString 将属性转换为字符串. md5:4e7ae41f91f6945a
func (*X结构_Json) X取properties文本PANI ¶
MustTopropertiesString
func (*X结构_Json) X取xml字节集PANI ¶
func (*X结构_Json) X取xml字节集并格式化PANI ¶
func (*X结构_Json) X取xml文本PANI ¶
func (*X结构_Json) X取xml文本并格式化PANI ¶
func (*X结构_Json) X取值 ¶
X取值 通过指定的`pattern`获取并返回值。 如果`pattern`为".",它将返回当前Json对象的所有值。 如果根据`pattern`没有找到值,它将返回nil。
我们也可以在`pattern`中通过索引数字来访问切片的元素,例如: "list.10", "array.0.name", "array.0.1.id"。
如果没有为`pattern`找到值,它将返回由`def`指定的默认值。 md5:f56f76d635296903
func (*X结构_Json) X取成员数 ¶
X取成员数 返回由指定 `pattern` 定义的值的长度/大小。目标值应该是切片或映射类型。如果找不到目标值或者其类型无效,它将返回 -1。 md5:f929eb27a0ef1a36
func (*X结构_Json) X取数组 ¶
func (j *X结构_Json) X取数组() []interface{}
X取数组 将当前Json对象转换为 []interface{} 类型。如果转换失败,它将返回nil。 md5:8b3042473c46995f
func (*X结构_Json) X取结构或结构数组 ¶
X取结构指针会根据参数类型自动调用Struct或Structs函数,并通过`pointer`实现转换。 md5:afdb5ab720fddc3b
type X结构_选项 ¶
type X结构_选项 struct { Safe bool // 标记此对象适用于并发安全使用。这尤其适用于 Json 对象的创建。 md5:59d439559fecdc34 Tags string // 自定义解码优先级标签,例如:"json,yaml,MyTag"。这主要用于将结构体解析为Json对象。 md5:486cf257ddd06463 Type X类型_ContentType // 类型指定了数据内容类型,例如:json、xml、yaml、toml、ini等。 md5:afbae78560edde30 StrNumber bool // StrNumber 使得 Decoder 将数字解码为 interface{}` 作为字符串,而不是 float64。 md5:32e44e32c3cc37cc }
创建/加载Json对象的选项。 md5:d8614ea5dc358e89