Tags: zarmack/gjson
Tags
Added new modifiers `@flatten` Flattens an array with child arrays. [1,[2],[3,4],[5,[6,7]]] -> [1,2,3,4,5,[6,7]] The {"deep":true} arg can be provide for deep flattening. [1,[2],[3,4],[5,[6,7]]] -> [1,2,3,4,5,6,7] The original json is returned when the json is not an array. `@join` Joins multiple objects into a single object. [{"first":"Tom"},{"last":"Smith"}] -> {"first","Tom","last":"Smith"} The arg can be "true" to specify that duplicate keys should be preserved. [{"first":"Tom","age":37},{"age":41}] -> {"first","Tom","age":37,"age":41} Without preserved keys: [{"first":"Tom","age":37},{"age":41}] -> {"first","Tom","age":41} The original json is returned when the json is not an object. `@valid` Ensures that the json is valid before moving on. An empty string is returned when the json is not valid, otherwise it returns the original json.
Fixed modifier pipe issue This commit fixes an issue where chaining modifiers that used a string arg would fail to process the modifier following the first. fixes tidwall#143
Support subqueries It's now possible to do a query like topology.instances.#(service_roles.#(=="one"))#.service_version On a JSON document such as { "topology": { "instances": [{ "service_version": "1.2.3", "service_roles": ["one", "two"] },{ "service_version": "1.2.4", "service_roles": ["three", "four"] },{ "service_version": "1.2.2", "service_roles": ["one"] }] } } Resulting in ["1.2.3","1.2.2"]
PreviousNext