JsonParser 已弃用

Saz*_*han 33 spring parsing gson spring-boot jsonparser

JsonParser为 Spring Boot 应用程序获取已弃用的消息,

JsonObject jsonObject = new JsonParser().parse(result).getAsJsonObject();
Run Code Online (Sandbox Code Playgroud)

什么是替代方案?

R.G*_*R.G 59

基于Gson 2.8.6的javadoc

不需要实例化这个类,而是使用静态方法。

以下是要使用的替代方案。

//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();
Run Code Online (Sandbox Code Playgroud)

例子

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));

    }
Run Code Online (Sandbox Code Playgroud)