问题
Getting deprecated message for JsonParser
for Spring Boot app,
JsonObject jsonObject = new JsonParser().parse(result).getAsJsonObject();
What is the alternative?
回答1:
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));
}
来源:https://stackoverflow.com/questions/60771386/jsonparser-is-deprecated