[go: up one dir, main page]

jsonpatch

A library for parsing and evaluating JSONPatch documents on JSON data objects.
https://github.com/EliteMasterEric/jsonpatch

To install, run:

haxelib install jsonpatch 1.1.0 

See using Haxelib in Haxelib documentation for more information.

README.md

JSONPatch

A library for parsing and evaluating JSONPatch files on JSON data objects.

It deviates from the spec to add support for additional features, but seeks to otherwise be fully compatible with JSONPatch data that is compliant with RFC6902.

Additional features include:

  • The ability to test that a key exists by omitting value from the test operation.
  • The ability to invert a test by providing "inverse": true in the test operation.
  • The ability to provide a batch of JSONPatches to evaluate one at a time, gracefully skipping the patches containing a failed operation.
  • The ability to use JSONPath for the path argument, instead of only supporting JSONPointer values.

Example

import json.patch.JSONPatch;

var patch = [
    {"op": "add", "path": "/a/d", "value": "e"}
];
var data = {"a": {"b": "c"}}

// {"a": {"b": "c", "d": "e"}}
trace(JSONPatch.applyPatches(patch, data));

// JSONPath is also supported.
var patch = [
    {"op": "replace", "path": "$..c", "value": 3}
];
var data = {"a": {"c": 11}, "b": {"c": 12}};

// {"a": {"c": 3 }, "b": { "c": 3 }}}
trace(JSONPatch.applyPatches(patch, data));

Licensing

JSONPatch is made available under an open source MIT License. You can read more at LICENSE.

Contributors
MasterEric
Version
1.1.0
Published
2 months ago
Dependencies
License
MIT

All libraries are free

Every month, more than a thousand developers use Haxelib to find, share, and reuse code — and assemble it in powerful new ways. Enjoy Haxe; It is great!

Explore Haxe

Haxe Manual

Haxe Code Cookbook

Haxe API documentation

You can try Haxe in the browser! try.haxe.org

Join us on GitHub!

Haxe is being developed on GitHub. Feel free to contribute or report issues to our projects.

Haxe on GitHub