Popularity
1.0
Growing
Activity
0.0
Stable
6
2
0

Description

This library is very close to mongodb's dot notation with a bit of extension.

Programming language: Go
Tags: Utility     Text Processing     Specific Formats     Json    
Latest version: v0.0.3

jsonpath alternatives and similar packages

Based on the "Specific Formats" category

Do you think we are missing an alternative of jsonpath or a related project?

Add another 'Specific Formats' Package

README

Build Status Goreport License MIT

jsonpath - Json generation by dot notation

This library is very close to mongodb's dot notation with a bit of extensions.

Supported syntaxes

Standard dot notation

input hash value output json result
{"0.value":"100"} [{"value":"100"}]
{"1.value":"100"} [null, {"value":"100"}]
{"value":"100"} {"value":"100"}
{"value.1":"100"} {"value":[null, "100"]}
{"v.0.k":"100"} {"v":[{"k":100}]}

Extended

input hash value output json result
{"v.num()":"1.0"} {"v":1.0}
{"v.bool()":"true"} {"v":true}

Benchmarks

Run benchmarks

go test -bench=.

Results

v0.0.3

BenchmarkComplexJSONPathArray-8                   100000         12480 ns/op
BenchmarkSimpleJSONPathArrayWithNum-8             500000          2654 ns/op
BenchmarkSimpleJSONPathArrayWithBool-8           1000000          2319 ns/op
BenchmarkSimpleJSONPathArrayInsideArray-8         500000          3066 ns/op
BenchmarkSimpleJSONPathArrays-8                   500000          2636 ns/op
BenchmarkSimpleJSONPathSimple-8                  1000000          1626 ns/op
BenchmarkJSONNative-8                            2000000           959 ns/op

Installation

go get github.com/cthulhu/jsonpath

Usage

in := map[string]string{"0.value": "100.00"}
jsobBytes := jsonpath.Marshal(in)

For more examples check jsonpath_test.go file

LICENSE

See LICENSE file


*Note that all licence references and agreements mentioned in the jsonpath README section above are relevant to that project's source code only.