Class MoveOperation

  • All Implemented Interfaces:
    com.fasterxml.jackson.databind.JsonSerializable

    public final class MoveOperation
    extends DualPathOperation
    JSON Patch move operation

    For this operation, from points to the value to move, and path points to the new location of the moved value.

    As for add:

    • the value at the destination path is either created or replaced;
    • it is created only if the immediate parent exists;
    • - appends at the end of an array.

    It is an error condition if from does not point to a JSON value.

    The specification adds another rule that the from path must not be an immediate parent of path. Unfortunately, that doesn't really work. Consider this patch:

         { "op": "move", "from": "/0", "path": "/0/x" }
     

    Even though /0 is an immediate parent of /0/x, when this patch is applied to:

         [ "victim", {} ]
     

    it actually succeeds and results in the patched value:

         [ { "x": "victim" } ]
     
    • Constructor Detail

      • MoveOperation

        public MoveOperation​(java.lang.String from,
                             java.lang.String path)