Documentation
¶
Overview ¶
Package jsonutil contains various utilities for dealing with json data.
Index ¶
Examples ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Indent ¶
Indent indents a json string.
Example ¶
type Road struct {
Name string
Number int
}
roads := []Road{
{Name: "Diamond Fork", Number: 29},
{Name: "Sheep Creek", Number: 51},
}
b, err := Marshal(roads)
if err != nil {
log.Fatal(err)
}
out, err := Indent(b)
if err != nil {
log.Fatal(err)
}
fmt.Println(out)
Output: [ { "Name": "Diamond Fork", "Number": 29 }, { "Name": "Sheep Creek", "Number": 51 } ]
func Marshal ¶
Marshal marshals an object to a json string. Returns empty string if marshal fails.
Example ¶
type ColorGroup struct {
ID int
Name string
Colors []string
}
group := ColorGroup{
ID: 1,
Name: "Reds",
Colors: []string{"Crimson", "Red", "Ruby", "Maroon"},
}
b, err := Marshal(group)
if err != nil {
fmt.Println("error:", err)
}
fmt.Println(b)
Output: {"ID":1,"Name":"Reds","Colors":["Crimson","Red","Ruby","Maroon"]}
func MarshalIndent ¶
MarshalIndent is like Marshal but applies Indent to format the output. Returns empty string if marshal fails.
func Remarshal ¶
Remarshal marshals an object to Json then parses it back to another object. This is useful for example when we want to go from map[string]any to a more specific struct type or if we want a deep copy of the object.
Example ¶
type ColorGroup struct {
ID int
Name string
Colors []string
}
group := ColorGroup{
ID: 1,
Name: "Reds",
Colors: []string{"Crimson", "Red", "Ruby", "Maroon"},
}
var newGroup ColorGroup
err := Remarshal(group, &newGroup)
if err != nil {
fmt.Println("error:", err)
}
out, err := Marshal(newGroup)
if err != nil {
fmt.Println("error:", err)
}
fmt.Println(out)
Output: {"ID":1,"Name":"Reds","Colors":["Crimson","Red","Ruby","Maroon"]}
func UnmarshalFile ¶
UnmarshalFile reads the content of a file then Unmarshals the content to an object.
Types ¶
This section is empty.
Click to show internal directories.
Click to hide internal directories.