Skip to content
inferred from GitHub

opentmf json patch

Jackson 3-native RFC 6902 JSON Patch library (builder + application).

Core trick

Applies RFC 6902 add, remove, replace, and move operations atomically over Jackson 3 trees.

Evidence

README matched "Built with Opus 4.6": *Built with Opus 4.6, with the guidance from Gökhan Demir.*

Tags

opentmf/opentmf-json-patch★ 00 forksJavaApache-2.0Created Mar 22, 2026 · last push Mar 22, 2026

README excerpt

# opentmf-json-patch

A lightweight, Jackson 3-native JSON patching library for Java 17+, supporting both [RFC 6902 — JSON Patch](https://datatracker.ietf.org/doc/html/rfc6902) and [RFC 7396 — JSON Merge Patch](https://datatracker.ietf.org/doc/html/rfc7396).

A complete replacement for `com.github.fge:json-patch` in Spring Boot 4.x / Jackson 3.x projects.

## Why?

The widely-used `com.github.fge:json-patch` (and `com.github.java-json-tools:json-patch`) libraries depend on Jackson 2.x and are not compatible with Jackson 3.x. Since Spring Boot 4.x uses Jackson 3.x by default, a new solution is needed.

This library provides:
- **JSON Patch (RFC 6902)** — a fluent builder, JSON parsing, and an atomic patch application engine for operation-based patches (`add`, `remove`, `replace`, `move`, `copy`, `test`)
- **JSON Merge Patch (RFC 7396)** — parse and apply document-based merge patches where fields are set, removed (via `null`), or recursively merged

## Maven

```xml
<dependency>
  <groupId>org.opentmf.commons</groupId>
  <artifactId>opentmf-json-patch</artifactId>
  <version>1.0.0-SNAPSHOT</version>
</dependency>
```

## Usage

### Building a patch

```java
import org.opentmf.commons.patch.JsonPatch;

JsonPatch patch = JsonPatch.builder()
    .replace("/description", "updated description")
    .add("/tags/0", "urgent")
    .remove("/deprecated")
    .move("/old/path", "/new/path")
    .copy("/template", "/instance")
    .test("/status", "active")
    .build();
```

### Parsing