public interface JsonPatch
This interface represents an immutable implementation of a JSON Patch as defined by RFC 6902.
A JsonPatch
can be instantiated with Json.createPatch(JsonArray)
by specifying the patch operations in a JSON Patch. Alternately, it
can also be constructed with a JsonPatchBuilder
.
1. Construct a JsonPatch with a JSON Patch.
JsonArray contacts = ... // The target to be patched
JsonArray patch = ... ; // JSON Patch
JsonPatch jsonpatch = Json.createPatch(patch);
JsonArray result = jsonpatch.apply(contacts);
2. Construct a JsonPatch with JsonPatchBuilder.
JsonPatchBuilder builder = Json.createPatchBuilder();
JsonArray result = builder.add("/John/phones/office", "1234-567")
.remove("/Amy/age")
.build()
.apply(contacts);
- Since:
- 1.1
- See Also:
-
Nested Class Summary
Modifier and TypeInterfaceDescriptionstatic enum
This enum represents the list of valid JSON Patch operations as defined by RFC 6902. -
Method Summary
Modifier and TypeMethodDescription<T extends JsonStructure>
Tapply
(T target) Applies the patch operations to the specifiedtarget
.Returns theJsonPatch
asJsonArray
.
-
Method Details
-
apply
Applies the patch operations to the specifiedtarget
. The target is not modified by the patch.- Type Parameters:
T
- the target type, must be a subtype ofJsonStructure
- Parameters:
target
- the target to apply the patch operations- Returns:
- the transformed target after the patch
- Throws:
JsonException
- if the supplied JSON Patch is malformed or if it contains references to non-existing members
-
toJsonArray
-