Issue
Getting deprecated message for JsonParser
for Spring Boot app,
JsonObject jsonObject = new JsonParser().parse(result).getAsJsonObject();
What is the alternative?
Solution
Based on the javadoc for Gson 2.8.6
No need to instantiate this class, use the static methods instead.
and following are the alternatives to be used.
// jsonString is of type java.lang.String
JsonObject jsonObject = JsonParser.parseString(jsonString).getAsJsonObject();
// reader is of type java.io.Reader
JsonObject jsonObject = JsonParser.parseReader(reader).getAsJsonObject();
// jsonReader is of type com.google.gson.stream.JsonReader
JsonObject jsonObject = JsonParser.parseReader(jsonReader).getAsJsonObject();
Example
import static org.junit.Assert.assertTrue;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
public class Test {
public static void main(String[] args) {
String jsonString = "{ \"name\":\"John\"}";
JsonObject jsonObjectAlt = JsonParser.parseString(jsonString).getAsJsonObject();
// Shows deprecated warning for new JsonParser() and parse(jsonString)
JsonObject jsonObject = new JsonParser().parse(jsonString).getAsJsonObject();
assertTrue(jsonObjectAlt.equals(jsonObject));
}
}
Answered By - R.G