GitHub - jasnell/json-tools: JSON Patch, Pointer and Predicate implementation (original) (raw)
JSON Tools
A basic implementation of the JSON Patch, Pointer and Predicate specifications.
require 'jsontools' include JsonTools
my_hash = JSON.parse %Q/ { "a": { "b": { "c": "123!ABC" } } } /
my_patch = JSON.parse %Q! [ { "op": "contains", "path": "/a/b/c", "value": "ABC" }, { "op": "replace", "path": "/a/b/c", "value": 123 } ] !
patch = Patch.new_with_predicates my_patch
create new modified hash
new_hash = patch.apply_to my_hash
edit hash in place
patch.apply_to! my_hash
Additional details to come later.