[JAVA-26735] Replaced deprecated API JsonParser

This commit is contained in:
panos-kakos 2023-11-03 23:52:59 +02:00
parent 0f6149ef8c
commit a324fc5c33
4 changed files with 20 additions and 27 deletions

View File

@ -4,6 +4,8 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertTrue;
import com.google.gson.*;
import org.junit.Assert;
import org.junit.jupiter.api.Test;
public class JsonObjectConversionsUnitTest {

View File

@ -3,8 +3,9 @@ package com.baeldung.gson.deserialization.test;
import static org.hamcrest.Matchers.hasItem;
import static org.hamcrest.Matchers.instanceOf;
import static org.hamcrest.Matchers.not;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertThat;
import java.lang.reflect.Type;
import java.util.ArrayList;
@ -68,7 +69,7 @@ public class GsonDeserializationUnitTest {
final GenericFoo<Integer> targetObject = new Gson().fromJson(json, typeToken);
assertEquals(targetObject.theValue, new Integer(1));
assertEquals(targetObject.theValue, Integer.valueOf(1));
}
// tests - multiple elements
@ -98,8 +99,7 @@ public class GsonDeserializationUnitTest {
@Test
public void whenDeserializingJsonIntoElements_thenCorrect() {
final String jsonSourceObject = "{\"valueInt\":7,\"valueString\":\"seven\"}";
final JsonParser jParser = new JsonParser();
final JsonElement jElement = jParser.parse(jsonSourceObject);
final JsonElement jElement = JsonParser.parseString(jsonSourceObject);
final JsonObject jObject = jElement.getAsJsonObject();
final int intValue = jObject.get("valueInt").getAsInt();
final String stringValue = jObject.get("valueString").getAsString();

View File

@ -16,79 +16,71 @@ public class JsonCompareUnitTest {
@Test
public void givenIdenticalSimpleObjects_whenCompared_thenEqual() {
JsonParser parser = new JsonParser();
String string1 = "{\"customer\": {\"id\": \"44521\",\"fullName\": \"Emily Jenkins\", \"age\": 27 }}";
String string2 = "{\"customer\": {\"id\": \"44521\", \"fullName\": \"Emily Jenkins\",\"age\": 27}}";
assertTrue(parser.parse(string1)
.isJsonObject());
assertEquals(parser.parse(string1), parser.parse(string2));
assertTrue(JsonParser.parseString(string1).isJsonObject());
assertEquals(JsonParser.parseString(string1), JsonParser.parseString(string2));
}
@Test
public void givenSameObjectsInDifferentOrder_whenCompared_thenEqual() {
JsonParser parser = new JsonParser();
String string1 = "{\"customer\": {\"id\": \"44521\",\"fullName\": \"Emily Jenkins\", \"age\": 27 }}";
String string2 = "{\"customer\": {\"id\": \"44521\",\"age\": 27, \"fullName\": \"Emily Jenkins\" }}";
JsonElement json1 = parser.parse(string1);
JsonElement json2 = parser.parse(string2);
JsonElement json1 = JsonParser.parseString(string1);
JsonElement json2 = JsonParser.parseString(string2);
assertEquals(json1, json2);
}
@Test
public void givenIdenticalArrays_whenCompared_thenEqual() {
JsonParser parser = new JsonParser();
String string1 = "[10, 20, 30]";
String string2 = "[10, 20, 30]";
assertTrue(parser.parse(string1)
assertTrue(JsonParser.parseString(string1)
.isJsonArray());
assertEquals(parser.parse(string1), parser.parse(string2));
assertEquals(JsonParser.parseString(string1), JsonParser.parseString(string2));
}
@Test
public void givenArraysInDifferentOrder_whenCompared_thenNotEqual() {
JsonParser parser = new JsonParser();
String string1 = "[20, 10, 30]";
String string2 = "[10, 20, 30]";
assertNotEquals(parser.parse(string1), parser.parse(string2));
assertNotEquals(JsonParser.parseString(string1), JsonParser.parseString(string2));
}
@Test
public void givenIdenticalNestedObjects_whenCompared_thenEqual() {
JsonParser parser = new JsonParser();
String string1 = "{\"customer\": {\"id\": \"44521\",\"fullName\": \"Emily Jenkins\", \"age\": 27, \"consumption_info\" : {\"fav_product\": \"Coke\", \"last_buy\": \"2012-04-23\"}}}";
String string2 = "{\"customer\": {\"id\": \"44521\",\"fullName\": \"Emily Jenkins\", \"age\": 27, \"consumption_info\" : {\"last_buy\": \"2012-04-23\", \"fav_product\": \"Coke\"}}}";
JsonElement json1 = parser.parse(string1);
JsonElement json2 = parser.parse(string2);
JsonElement json1 = JsonParser.parseString(string1);
JsonElement json2 = JsonParser.parseString(string2);
assertEquals(json1, json2);
}
@Test
public void givenIdenticalNestedObjectsWithArray_whenCompared_thenEqual() {
JsonParser parser = new JsonParser();
String string1 = "{\"customer\": {\"id\": \"44521\",\"fullName\": \"Emily Jenkins\", \"age\": 27, \"consumption_info\" : {\"last_buy\": \"2012-04-23\", \"prouducts\": [\"banana\", \"eggs\"]}}}";
String string2 = "{\"customer\": {\"id\": \"44521\",\"fullName\": \"Emily Jenkins\", \"age\": 27, \"consumption_info\" : {\"last_buy\": \"2012-04-23\", \"prouducts\": [\"banana\", \"eggs\"]}}}";
JsonElement json1 = parser.parse(string1);
JsonElement json2 = parser.parse(string2);
JsonElement json1 = JsonParser.parseString(string1);
JsonElement json2 = JsonParser.parseString(string2);
assertEquals(json1, json2);
}
@Test
public void givenNestedObjectsDifferentArrayOrder_whenCompared_thenNotEqual() {
JsonParser parser = new JsonParser();
String string1 = "{\"customer\": {\"id\": \"44521\",\"fullName\": \"Emily Jenkins\", \"age\": 27, \"consumption_info\" : {\"last_buy\": \"2012-04-23\", \"prouducts\": [\"banana\", \"eggs\"]}}}";
String string2 = "{\"customer\": {\"id\": \"44521\",\"fullName\": \"Emily Jenkins\", \"age\": 27, \"consumption_info\" : {\"last_buy\": \"2012-04-23\", \"prouducts\": [\"eggs\", \"banana\"]}}}";
JsonElement json1 = parser.parse(string1);
JsonElement json2 = parser.parse(string2);
JsonElement json1 = JsonParser.parseString(string1);
JsonElement json2 = JsonParser.parseString(string2);
assertNotEquals(json1, json2);
}

View File

@ -41,8 +41,7 @@ public class GsonSerializeUnitTest {
.serializeNulls()
.disableHtmlEscaping()
.create()
.toJson(new JsonParser()
.parse("{\"imdbId\":null,\"actors\":[{\"<strong>IMDB Code</strong>\":\"nm2199632\",\"<strong>Date Of Birth</strong>\":\"21-09-1982\",\"<strong>N° Film:</strong> \":3,\"filmography\":\"Apocalypto-Beatdown-Wind Walkers\"}]}"));
.toJson(JsonParser.parseString("{\"imdbId\":null,\"actors\":[{\"<strong>IMDB Code</strong>\":\"nm2199632\",\"<strong>Date Of Birth</strong>\":\"21-09-1982\",\"<strong>N° Film:</strong> \":3,\"filmography\":\"Apocalypto-Beatdown-Wind Walkers\"}]}"));
Assert.assertEquals(gson.toJson(movieWithNullValue), expectedOutput);
}
}