Исключение Nullpointer при создании патча слияния между двумя документами json
Привет, я использую следующие библиотеки для создания разницы в патчах слияния.
<dependencies>
<!-- https://mvnrepository.com/artifact/com.google.code.gson/gson -->
<dependency>
<groupId>javax.json</groupId>
<artifactId>javax.json-api</artifactId>
<version>1.1</version>
</dependency>
<dependency>
<groupId>org.apache.johnzon</groupId>
<artifactId>johnzon-core</artifactId>
<version>1.2.5</version>
</dependency>
</dependencies>
Ниже приведены исходный и целевой jsons. Источник json
{
"firstName": "Krishna",
"lastName": "Gurram",
"hobbies": [
"Cricket",
"Football"
],
"address": {
"city": "Bangalore",
"state": "Karnataka",
"country": "India"
}
}
Целевой json
{
"firstName": "Ram",
"lastName": "Gurram",
"hobbies": [
"Football",
"Chess"
],
"address": {
"city": "Amaravathi",
"state": "Andhra Pradesh",
"country": "India"
}
}
Я использую следующий фрагмент, чтобы получить патч слияния между исходным и целевым json-документами.
JsonValue sourceJsonValue = Json.createReader(new StringReader(sourceJson)).readValue();
JsonValue targetJsonValue = Json.createReader(new StringReader(targetJson)).readValue();
JsonMergePatch jsonMergePatch = Json.createMergeDiff(sourceJsonValue, targetJsonValue);
Я получаю следующую ошибку.
Exception in thread "main" java.lang.NullPointerException
at org.apache.johnzon.core.JsonMergePatchDiff.diff(JsonMergePatchDiff.java:58)
at org.apache.johnzon.core.JsonMergePatchDiff.calculateDiff(JsonMergePatchDiff.java:44)
at org.apache.johnzon.core.JsonProviderImpl.createMergeDiff(JsonProviderImpl.java:226)
at javax.json.Json.createMergeDiff(Json.java:427)
at com.sample.app.App.main(App.java:57)
Правильно ли я использую apis для создания патча слияния или мне что-то не хватает?