-
Notifications
You must be signed in to change notification settings - Fork 142
Configurations
Saddam H edited this page Jul 12, 2018
·
6 revisions
From gojsonq version v1.6 custom JSON decoder can be used, inorder to use custom decoder you have to pass the decoder as option.
See example below:
package main
import (
"fmt"
"github.com/davecgh/go-spew/spew"
jsoniter "github.com/json-iterator/go"
"github.com/pquerna/ffjson/ffjson"
"github.com/thedevsaddam/gojsonq"
)
func main() {
jq := gojsonq.New(gojsonq.SetDecoder(&iteratorDecoder{})).
File("./data.json").
From("vendor.items").
Where("id", "=", 1).OrWhere("id", "=", 3)
spew.Dump("Result: ", jq.Only("name", "id"), jq.Error())
}
type iteratorDecoder struct {
}
func (i *iteratorDecoder) Decode(data []byte, v interface{}) error {
var json = jsoniter.ConfigCompatibleWithStandardLibrary
return json.Unmarshal(data, &v)
}
type ffDecoder struct {
}
func (f *ffDecoder) Decode(data []byte, v interface{}) error {
return ffjson.Unmarshal(data, &v)
}If you find the package useful please don't forget to star the repository
