go: gjson

GJSON is a Go package that provides a fast and simple way to get values from a json document. It has features such as one line retrievaldot notation pathsiteration, and parsing json lines.

package main

import "github.com/tidwall/gjson"

const json = `{"name":{"first":"Janet","last":"Prichard"},"age":47}`

func main() {
	value := gjson.Get(json, "name.last")
	println(value.String()) // Prichard
}

sjson

SJSON is a Go package that provides a very fast and simple way to set a value in a json document. The purpose for this library is to provide efficient json updating for the SummitDB project. For quickly retrieving json values check out GJSON.

package main

import "github.com/tidwall/sjson"

const json = `{"name":{"first":"Janet","last":"Prichard"},"age":47}`

func main() {
	value, _ := sjson.Set(json, "name.last", "Anderson")
	println(value) 
// {"name":{"first":"Janet","last":"Anderson"},"age":47}
}