JsonTool

package
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Jun 2, 2026 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func IsRepairable added in v0.1.0

func IsRepairable(text string) bool

IsRepairable 判断给定的字符串是否可以通过 jsonrepair 修补。 如果输入本身是合法 JSON,也返回 true(无需修补即可通过)。

func MustRepairJSON added in v0.1.0

func MustRepairJSON(text string) string

MustRepairJSON 修补不合法的 JSON 字符串,修补失败时 panic。

func RepairJSON added in v0.1.0

func RepairJSON(text string) (string, error)

RepairJSON 修补不合法的 JSON 字符串,返回修补后的合法 JSON 字符串。 可修复的常见问题包括:

  • 缺少引号的键或值: {name: John} → {"name": "John"}
  • 单引号替代双引号: {'a':'foo'} → {"a":"foo"}
  • 尾部逗号: {"a":1,} → {"a":1}
  • 缺少闭合括号: {"items":[1,2,3 → {"items":[1,2,3]}
  • JavaScript 注释: {"a":1/*comment*/} → {"a":1}
  • Python 常量: {active: True} → {"active":true}
  • JSONP 包装: callback({"ok":1}); → {"ok":1}
  • 截断的 JSON: {"msg":"hello → {"msg":"hello"}
  • 省略号占位: [1,2,...] → [1,2]
  • NDJSON 多行: {"id":1}\n{"id":2} → [{"id":1},{"id":2}]

func RepairToJsonMap added in v0.1.0

func RepairToJsonMap(text string) (map[string]interface{}, error)

RepairToJsonMap 修补不合法的 JSON 字符串并解析为 map[string]interface{}。

func RepairToJsonSlice added in v0.1.0

func RepairToJsonSlice(text string) ([]interface{}, error)

RepairToJsonSlice 修补不合法的 JSON 字符串并解析为 []interface{}。

func RepairToStruct added in v0.1.0

func RepairToStruct(text string, target interface{}) error

RepairToStruct 修补不合法的 JSON 字符串并解析到目标结构体。 target 必须为结构体指针。

func TryRepair added in v0.1.0

func TryRepair(text string) (result string, repaired bool, err error)

TryRepair 尝试修补 JSON 字符串,返回修补结果和是否进行了修补。 如果输入本身就是合法 JSON,返回原文且 repaired=false。

Types

type DzJsonArray

type DzJsonArray []interface{}

func (DzJsonArray) GetBoolArray

func (dja DzJsonArray) GetBoolArray() []bool

func (DzJsonArray) GetFloatArray added in v0.0.5

func (dja DzJsonArray) GetFloatArray() []float64

func (DzJsonArray) GetIntArray added in v0.0.5

func (dja DzJsonArray) GetIntArray() []int

func (DzJsonArray) GetMapArray

func (dja DzJsonArray) GetMapArray() []DzJsonMap

func (DzJsonArray) GetStringArray

func (dja DzJsonArray) GetStringArray() []string

type DzJsonMap

type DzJsonMap map[string]interface{}

func NewDzJsonMap

func NewDzJsonMap(jsonData []byte) DzJsonMap

func ParseDzJsonMap

func ParseDzJsonMap(jsonData map[string]interface{}) DzJsonMap

func RepairToDzJsonMap added in v0.1.0

func RepairToDzJsonMap(text string) DzJsonMap

RepairToDzJsonMap 修补不合法的 JSON 字符串并解析为 DzJsonMap。 修补失败或解析失败时返回 nil。

func (DzJsonMap) GetArray

func (djm DzJsonMap) GetArray(key string) DzJsonArray

func (DzJsonMap) GetBool

func (djm DzJsonMap) GetBool(key string) bool

func (DzJsonMap) GetFloat added in v0.0.5

func (djm DzJsonMap) GetFloat(key string) float64

func (DzJsonMap) GetInt added in v0.0.5

func (djm DzJsonMap) GetInt(key string) int

func (DzJsonMap) GetMap

func (djm DzJsonMap) GetMap(key string) DzJsonMap

func (DzJsonMap) GetMapArray

func (djm DzJsonMap) GetMapArray(key string) []DzJsonMap

func (DzJsonMap) GetString

func (djm DzJsonMap) GetString(key string) string

type DzJsonMapArray

type DzJsonMapArray []DzJsonMap

func NewDzJsonMapArray

func NewDzJsonMapArray(jsonData []byte) DzJsonMapArray

func RepairToDzJsonMapArray added in v0.1.0

func RepairToDzJsonMapArray(text string) DzJsonMapArray

RepairToDzJsonMapArray 修补不合法的 JSON 字符串并解析为 DzJsonMapArray。 修补失败或解析失败时返回空切片。

Jump to

Keyboard shortcuts

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