Java EE 8 включает обновление API обработки JSON и обновляет его до последних стандартов IEFT для JSON. Они есть:
- JSON Pointer RFC 6901
- JSON Patch RFC 6902
- JSON Merge Patch RFC 7396
Я расскажу об этих темах в этом мини-сериале.
Начиная
Для начала работы с JSON-P вам понадобятся следующие зависимости из центрального репозитория Maven.
01
02
03
04
05
06
07
08
09
10
11
|
< dependency > < groupId >javax.json</ groupId > < artifactId >javax.json-api</ artifactId > < version >1.1</ version > </ dependency > < dependency > < groupId >org.glassfish</ groupId > < artifactId >javax.json</ artifactId > < version >1.1</ version > </ dependency > |
JSON-Merge Patch
Патч JSON Merge — это документ JSON, который описывает набор изменений, которые необходимо внести в целевой документ JSON. В этой таблице показаны три доступные операции.
операция | цель | заплата | Результат | ||||||
замещать |
|
|
|
||||||
Добавить |
|
|
|
||||||
удалять |
|
|
|
Статический метод createMergePatch () в классе Json предоставляет экземпляр типа JsonMergePatch, которому вы передаете исправление. Метод apply () результирующего экземпляра JsonMergePatch передается целевому JSON, и исправление применяется. Код ниже показывает, как выполнить операцию замены из таблицы.
1
2
|
Json.createMergePatch(Json.createValue( "{\"colour\":\"blue\"}" )) .apply(Json.createValue( "{\"colour\":\"red\"}" )); |
Merge Diff
Операция слияния diff генерирует JSON Merge Patch из исходного и целевого JsonValue, что при применении к источнику приведет к получению.
1
2
3
4
|
JsonValue source = Json.createValue( "{\"colour\":\"blue\"}" ); JsonValue target = Json.createValue( "{\"colour\":\"red\"}" ); JsonMergePatch jsonMergePatch = Json.createMergeDiff(source, target); JsonValue jsonValue = jsonMergePatch.apply(source); |
Вывод
Ну вот и все для третьей статьи в этой мини-серии о новых возможностях JSON Processing.
Это все на данный момент.
Опубликовано на Java Code Geeks с разрешения Алекса Тидома, партнера нашей программы JCG. См. Оригинальную статью здесь: Познакомьтесь с патчем слияния JSON: Обзорная серия JSON-P 1.1
Мнения, высказанные участниками Java Code Geeks, являются их собственными. |