Popularity
1.2
Declining
Activity
6.1
-
7
3
3

Description

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

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

jsonpath alternatives and similar packages

Based on the "Specific Formats" category.
Alternatively, view jsonpath alternatives based on common mentions on social networks and blogs.

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.