Submit application

objectscript-json-patch

Downloads10
Subscribe
1
Bookmark
2
This application is not supported by InterSystems Corporation. Please be notified that you use it at your own responsibility.
Details
Releases
Reviews
Issues

What's new in this version

update module.xml description

objectscript-json-patch

alt text

An implementation of JSON-Patch in ObjectScript.

Why you should use JSON-Patch

JSON-Patch (RFC6902) is a standard format that allows you to update a JSON document by sending the changes rather than the whole document. JSON Patch plays well with the HTTP PATCH verb (method) and REST style programming.

Install

With zpm :

USER>zpm
zpm:USER>install objectscript-json-patch

How-To use it

Use it with this call :

Do ##class(Grongier.JSON.Utils).Patch(tDoc,tPatch)

Where :

  • tDoc is a %DynamicObject (JSON)
  • tPatch is a %DynamicArray of the patches (the JSON Patch).

The result will be tDoc patched.

Example

Set tDoc = {
            "foo": {
                    "bar": "baz",
                    "waldo": "fred"
                  },
            "qux": {
                    "corge": "grault"
            }

Set tPatch = [
{
"op": "move",
"from": "/foo/waldo",
"path": "/qux/thud"
}
]

Do ##class(Grongier.JSON.Utils).Patch(tDoc,tPatch)

zw tDoc.%ToJSON()

Result

  {
    "foo": {
              "bar": "baz"
           },
    "qux": {
              "corge": "grault",
              "thud": "fred"
          }
   }

Test this module

Natively from git :

do ##class(%UnitTest.Manager).DebugRunTestCase("","Test.Grongier.JSON.Utils",,)

With zpm :

USER>zpm
zpm:USER>module-action objectscript-json-patch test

Special thanks

  • Michel Liberado for the idea
ZPM installation
zpm "install objectscript-json-patch"
Rating
4 (1)
Category
Developer Environment
Works with
InterSystems IRISInterSystems IRIS for Health
Tags
Info
Version
1.0.1
Last updated
2020-12-08
Repository
Open
Documentation
Open
License
Link