json类

package
v0.0.0-...-782a3f7 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 21, 2024 License: MIT Imports: 22 Imported by: 0

Documentation

Overview

包gjson提供了处理JSON/XML/INI/YAML/TOML数据的便捷API。 md5:ddbf6ad5d309a49c

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Json格式到变量

func Json格式到变量(值 interface{}, 选项 ...X结构_选项) (interface{}, error)

Json格式到变量 将 JSON 格式的 `data` 解码为 Go 语言变量。 参数 `data` 可以是字节切片或字符串类型。 md5:8c3a611dab2c0896

func Json格式到变量指针

func Json格式到变量指针(值 interface{}, 变量指针 interface{}, 选项 ...X结构_选项) (错误 error)

Json格式到变量指针 将json格式的 `data` 解码到指定的golang变量 `v`。 参数 `data` 可以是字节切片或字符串类型。 参数 `v` 应该是一个指针类型。 md5:bc0dc16b58d95bda

func X变量到json字节集

func X变量到json字节集(值 interface{}) ([]byte, error)

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文本

func X变量到json文本(值 interface{}) (string, error)

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

func X弃用_Marshal(v interface{}) (marshaledBytes []byte, 错误 error)

X弃用_Marshal 是 Encode 函数的别名,目的是为了适应 json.X弃用_Marshal/Unmarshal 函数的习惯用法。 md5:ff4e462ef9c849f2

func X弃用_MarshalIndent

func X弃用_MarshalIndent(v interface{}, prefix, indent string) (marshaledBytes []byte, 错误 error)

X弃用_MarshalIndent 是 json.X弃用_MarshalIndent 的别名,以适应使用 json.X弃用_MarshalIndent 函数的习惯。 md5:285efc00996caf06

func X弃用_Unmarshal

func X弃用_Unmarshal(data []byte, v interface{}) (错误 error)

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创建

func X创建(值 interface{}, 并发安全 ...bool) *X结构_Json

X创建 使用任何类型的`data`创建一个Json对象,但为了数据访问的原因,`data`应该是map或slice, 否则将失去意义。

参数`safe`指定是否在并发安全的上下文中使用此Json对象,默认值为false。 md5:b84f401db24e69d8

func X创建并按类型标签

func X创建并按类型标签(值 interface{}, 类型标签 string, 并发安全 ...bool) *X结构_Json

X创建并按类型标签 创建一个Json对象,可以包含任何类型的`data`,但出于数据访问的原因,`data`应该是一个map或切片,否则将没有意义。

参数`tags`用于指定结构体转换为map的优先标签,多个标签之间用逗号分隔。

参数`safe`表示是否在并发安全上下文中使用这个Json对象,默认为false。 md5:2558f08f4f082a16

func X创建并按选项

func X创建并按选项(值 interface{}, 选项 X结构_选项) *X结构_Json

X创建并按选项使用任何类型的'data'创建一个Json对象,但出于数据访问的原因,`data`应该是map或切片,否则将没有意义。 md5:48be1828a6556518

func X加载Properties

func X加载Properties(值 interface{}, 并发安全 ...bool) (*X结构_Json, error)

X加载Properties 从给定的TOML格式内容创建一个Json对象。 md5:aacff07e57605d82

func X加载Toml

func X加载Toml(值 interface{}, 并发安全 ...bool) (*X结构_Json, error)

X加载Toml 从给定的TOML格式内容创建一个Json对象。 md5:a27ac84d2a7e5a70

func X加载Yaml

func X加载Yaml(值 interface{}, 并发安全 ...bool) (*X结构_Json, error)

X加载Yaml 根据给定的 YAML 格式内容创建一个 Json 对象。 md5:d810aac213716b5a

func X加载ini

func X加载ini(值 interface{}, 并发安全 ...bool) (*X结构_Json, error)

X加载ini 从给定的INI格式内容创建一个Json对象。 md5:bf3225da0be4c26b

func X加载json

func X加载json(值 interface{}, 并发安全 ...bool) (*X结构_Json, error)

X加载json 从给定的JSON格式内容创建一个Json对象。 md5:1f41cbc0a35bd390

func X加载xml

func X加载xml(值 interface{}, 并发安全 ...bool) (*X结构_Json, error)

X加载xml 从给定的XML格式内容创建一个Json对象。 md5:a170d56aa371a2bb

func X加载并按格式

func X加载并按格式(类型标签 X类型_ContentType, 值 interface{}, 并发安全 ...bool) (*X结构_Json, error)

X加载并按格式 根据给定的类型和内容创建一个 JSON 对象,支持以下数据内容类型: JSON, XML, INI, YAML 和 TOML. md5:7db5bd0b429fea01

func X加载并按选项

func X加载并按选项(值 interface{}, 选项 X结构_选项) (*X结构_Json, error)

X加载并按选项 根据给定的 JSON 格式内容和选项创建一个 Json 对象。 md5:77290b5f994f3ff1

func X加载并自动识别格式

func X加载并自动识别格式(值 interface{}, 并发安全 ...bool) (*X结构_Json, error)

X加载并自动识别格式 根据给定的内容创建一个Json对象,它会自动检查`content`的数据类型, 支持如下数据内容类型: JSON、XML、INI、YAML和TOML。 md5:e930374f4ac3b32e

func X加载文件

func X加载文件(路径 string, 并发安全 ...bool) (*X结构_Json, error)

X加载文件 从指定的文件`path`加载内容,并根据其内容创建一个Json对象。 md5:fc26d8aa3d537173

func X解码到json

func X解码到json(值 interface{}, 选项 ...X结构_选项) (*X结构_Json, error)

X解码到json 将JSON格式的`data`编码为一个Json对象。 参数`data`可以是字节或字符串类型。 md5:f1745bf8c9553699

func (*X结构_Json) Interface

func (j *X结构_Json) Interface() interface{}

Interface 返回 json 值。 md5:63120da1c18a889c

func (X结构_Json) MarshalJSON

func (j X结构_Json) MarshalJSON() ([]byte, error)

MarshalJSON 实现了接口 MarshalJSON 以供 json.Marshal 使用。 md5:43c3b36e60a18f9a

func (*X结构_Json) String

func (j *X结构_Json) String() string

String 返回当前Json对象作为字符串。 md5:741610441066450a

func (*X结构_Json) UnmarshalJSON

func (j *X结构_Json) UnmarshalJSON(b []byte) error

UnmarshalJSON实现了json.Unmarshal接口的UnmarshalJSON方法。 md5:f6766b88cf3d63c2

func (*X结构_Json) UnmarshalValue

func (j *X结构_Json) UnmarshalValue(值 interface{}) error

UnmarshalValue 是一个接口实现,用于将任何类型的值设置为 Json。 md5:4cedac254443f4c3

func (*X结构_Json) X删除

func (j *X结构_Json) X删除(表达式 string) error

X删除 删除具有指定`pattern`的值。它支持通过字符分隔符(默认为`.`)进行层次数据访问。 md5:a8bd1b8b0e8d7d8e

func (*X结构_Json) X删除PANI

func (j *X结构_Json) X删除PANI(表达式 string)

X删除PANI 的行为与 Remove 相同,但如果发生任何错误,它会直接 panic。 md5:ad4ac7324486398a

func (*X结构_Json) X加入

func (j *X结构_Json) X加入(表达式 string, 值 interface{}) error

X加入 将指定的 `pattern` 所引用的值追加到目标值(应该是切片类型)中。 md5:5b8e7f4c493419ba

func (*X结构_Json) X加入PANI

func (j *X结构_Json) X加入PANI(表达式 string, 值 interface{})

X加入PANI 的行为与 Append 相同,但如果发生任何错误,它会直接 panic。 md5:3a0acd5a244f264f

func (*X结构_Json) X取Map

func (j *X结构_Json) X取Map() map[string]interface{}

X取Map 将当前的 Json 对象转换为 map[string]interface{}。 如果转换失败,它将返回 nil。 md5:599d2c152000d26b

func (*X结构_Json) X取MapStrAny

func (j *X结构_Json) X取MapStrAny() map[string]interface{}

X取MapStrAny 实现了接口函数 X取MapStrAny()。 md5:e07c56a48f2ed248

func (*X结构_Json) X取TOML字节集

func (j *X结构_Json) X取TOML字节集() ([]byte, error)

func (*X结构_Json) X取TOML字节集PANI

func (j *X结构_Json) X取TOML字节集PANI() []byte

func (*X结构_Json) X取TOML文本

func (j *X结构_Json) X取TOML文本() (string, error)

func (*X结构_Json) X取TOML文本PANI

func (j *X结构_Json) X取TOML文本PANI() string

func (*X结构_Json) X取YAML字节集

func (j *X结构_Json) X取YAML字节集() ([]byte, error)

func (*X结构_Json) X取YAML字节集PANI

func (j *X结构_Json) X取YAML字节集PANI() []byte

func (*X结构_Json) X取YAML字节集并格式化

func (j *X结构_Json) X取YAML字节集并格式化(缩进 string) ([]byte, error)

func (*X结构_Json) X取YAML文本

func (j *X结构_Json) X取YAML文本() (string, error)

func (*X结构_Json) X取YAML文本PANI

func (j *X结构_Json) X取YAML文本PANI() string

func (*X结构_Json) X取any数组

func (j *X结构_Json) X取any数组() []interface{}

X取any数组 实现了接口函数 X取any数组()。 md5:b4dff925202b8b35

func (*X结构_Json) X取ini字节集

func (j *X结构_Json) X取ini字节集() ([]byte, error)

X取ini字节集 json to ini

func (*X结构_Json) X取ini字节集PANI

func (j *X结构_Json) X取ini字节集PANI() []byte

func (*X结构_Json) X取ini文本

func (j *X结构_Json) X取ini文本() (string, error)

X取ini文本 将ini格式转换为字符串. md5:954c17725442fbb6

func (*X结构_Json) X取ini文本PANI

func (j *X结构_Json) X取ini文本PANI() string

X取ini文本PANI .

func (*X结构_Json) X取json字节集

func (j *X结构_Json) X取json字节集() ([]byte, error)

func (*X结构_Json) X取json字节集PANI

func (j *X结构_Json) X取json字节集PANI() []byte

func (*X结构_Json) X取json字节集并格式化

func (j *X结构_Json) X取json字节集并格式化() ([]byte, error)

func (*X结构_Json) X取json字节集并格式化PANI

func (j *X结构_Json) X取json字节集并格式化PANI() []byte

func (*X结构_Json) X取json文本

func (j *X结构_Json) X取json文本() (string, error)

func (*X结构_Json) X取json文本PANI

func (j *X结构_Json) X取json文本PANI() string

func (*X结构_Json) X取json文本并格式化

func (j *X结构_Json) X取json文本并格式化() (string, error)

func (*X结构_Json) X取json文本并格式化PANI

func (j *X结构_Json) X取json文本并格式化PANI() string

func (*X结构_Json) X取properties字节集

func (j *X结构_Json) X取properties字节集() ([]byte, error)

======================================================================== 属性 ======================================================================== 将json格式的属性转换为properties格式 md5:83a506c62c95394b

func (*X结构_Json) X取properties字节集PANI

func (j *X结构_Json) X取properties字节集PANI() []byte

func (*X结构_Json) X取properties文本

func (j *X结构_Json) X取properties文本() (string, error)

TopropertiesString 将属性转换为字符串. md5:4e7ae41f91f6945a

func (*X结构_Json) X取properties文本PANI

func (j *X结构_Json) X取properties文本PANI() string

MustTopropertiesString

func (*X结构_Json) X取xml字节集

func (j *X结构_Json) X取xml字节集(rootTag ...string) ([]byte, error)

func (*X结构_Json) X取xml字节集PANI

func (j *X结构_Json) X取xml字节集PANI(rootTag ...string) []byte

func (*X结构_Json) X取xml字节集并格式化

func (j *X结构_Json) X取xml字节集并格式化(rootTag ...string) ([]byte, error)

func (*X结构_Json) X取xml字节集并格式化PANI

func (j *X结构_Json) X取xml字节集并格式化PANI(rootTag ...string) []byte

func (*X结构_Json) X取xml文本

func (j *X结构_Json) X取xml文本(rootTag ...string) (string, error)

func (*X结构_Json) X取xml文本PANI

func (j *X结构_Json) X取xml文本PANI(rootTag ...string) string

func (*X结构_Json) X取xml文本并格式化

func (j *X结构_Json) X取xml文本并格式化(rootTag ...string) (string, error)

func (*X结构_Json) X取xml文本并格式化PANI

func (j *X结构_Json) X取xml文本并格式化PANI(rootTag ...string) string

func (*X结构_Json) X取值

func (j *X结构_Json) X取值(表达式 string, 默认值 ...interface{}) *gvar.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取对象

func (j *X结构_Json) X取对象(表达式 string, 默认值 ...interface{}) *X结构_Json

X取对象 通过指定的`pattern`获取值,并将其转换为一个非并发安全的Json对象。 md5:e0f60541ee6017b5

func (*X结构_Json) X取对象Map

func (j *X结构_Json) X取对象Map(表达式 string, 默认值 ...interface{}) map[string]*X结构_Json

X取对象Map 通过指定的`pattern`获取值, 并将其转换为非并发安全的Json对象映射。 md5:d549d238d186a4e0

func (*X结构_Json) X取对象数组

func (j *X结构_Json) X取对象数组(表达式 string, 默认值 ...interface{}) []*X结构_Json

X取对象数组 通过指定的`pattern`获取值,并将其转换为一个不并发安全的Json对象切片。 md5:1bd75964e1b32ed2

func (*X结构_Json) X取成员数

func (j *X结构_Json) X取成员数(表达式 string) int

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取文本

func (j *X结构_Json) X取文本() string

zj:

func (*X结构_Json) X取泛型类

func (j *X结构_Json) X取泛型类() *gvar.X结构_泛型类

X取泛型类将json值作为*gvar.X取泛型类返回。 md5:fcfd99090165a7b5

func (*X结构_Json) X取结构或结构数组

func (j *X结构_Json) X取结构或结构数组(变量指针 interface{}, 名称映射Map ...map[string]string) error

X取结构指针会根据参数类型自动调用Struct或Structs函数,并通过`pointer`实现转换。 md5:afdb5ab720fddc3b

func (*X结构_Json) X是否为Nil

func (j *X结构_Json) X是否为Nil() bool

X是否为Nil 检查指针 `j` 所指向的值是否为 nil。 md5:669f952cb58d64ce

func (*X结构_Json) X是否存在

func (j *X结构_Json) X是否存在(表达式 string) bool

X是否存在 检查是否存在指定的 `pattern` 值。 md5:4f248b6aebb74d05

func (*X结构_Json) X设置值

func (j *X结构_Json) X设置值(表达式 string, 值 interface{}) error

X设置值 使用指定的 `pattern` 设置值。 它支持通过字符分隔符(默认为'.')进行层次数据访问。 md5:85400f8aa43895d6

func (*X结构_Json) X设置值PANI

func (j *X结构_Json) X设置值PANI(表达式 string, 值 interface{})

X设置值PANI 执行与 Set 相同的操作,但如果发生任何错误,它将引发恐慌。 md5:89753cb5f56f60cc

func (*X结构_Json) X设置分层冲突检查

func (j *X结构_Json) X设置分层冲突检查(启用 bool)

X设置分层冲突检查 用于启用或禁用层次数据访问时的暴力检查。 md5:b2fa0bb88e62957d

func (*X结构_Json) X设置表达式分隔符

func (j *X结构_Json) X设置表达式分隔符(分隔符 byte)

X设置表达式分隔符 设置用于层次数据访问的分隔符字符。 md5:99655266409bea6a

func (*X结构_Json) X调试输出

func (j *X结构_Json) X调试输出()

X调试输出 打印当前的Json对象,使其更便于人工阅读。 md5:c8c6bbdb40fa6383

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

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL