jsonvalue
A fast and convenient library for unstructured JSON data, replacing `encoding/json`
About jsonvalue
Jsonvalue - A Fast and Convenient Alternation of Go map[string]interface{}
Package jsonvalue is for handling unstructured JSON data or customizing JSON marshaling. It is far more faster and convenient than using interface{} with encoding/json.
Please refer to pkg site or wiki for detailed usage and examples.
Especially, please check for jsonvalue's programming scenarios.
Import
Use following statements to import jsonvalue:
import (
jsonvalue "github.com/Andrew-M-C/go.jsonvalue"
)
Quick Start
Sometimes we want to create a complex JSON object like:
{
"someObject": {
"someObject": {
"someObject": {
"message": "Hello, JSON!"
}
}
}
}
With jsonvalue, It is quite simple to implement this:
v := jsonvalue.NewObject()
v.MustSet("Hello, JSON").At("someObject", "someObject", "someObject", "message")
fmt.Println(v.MustMarshalString())
// Output:
// {"someObject":{"someObject":{"someObject":{"message":"Hello, JSON!"}}}
Similarly, it is quite easy to create sub-arrays like:
[
{
"someArray": [
"Hello, JSON!"
]
}
]
v := jsonvalue.NewArray()
v.MustSet("Hello, JSON").At(0, "someObject", 0)
fmt.Println(v.MustMarshalString())
// Output:
// [{"someObject":["Hello, JSON"]}]
In opposite, to parse and read the first JSON above, you can use jsonvalue like this:
const raw = `{"someObject": {"someObject": {"someObject": {"message": "Hello, JSON!"}}}}`
s := jsonvalue.MustUnmarshalString(s).GetString("someObject", "someObject", "someObject", "message")
fmt.Println(s)
// Output:
// Hello, JSON!
However, it is quite complex and annoying in automatically creating array. I strongly suggest using SetArray() to create the array first, then use Append() or Insert() to set array elements. Please refer go godoc or Wiki.
Frequently Asked Questions
What is jsonvalue?
jsonvalue is a JSON library for the Go programming language. A fast and convenient library for unstructured JSON data, replacing `encoding/json`
How do I install jsonvalue?
Install jsonvalue with the Go module system using `go get Andrew-M-C/go.jsonvalue`. Check the repository for the current installation instructions.
What category does jsonvalue belong to?
jsonvalue is listed under JSON, specifically JSON.