gson 不赞成使用JsonParser

jckbn6z7  于 2022-11-06  发布在  其他
关注(0)|答案(1)|浏览(498)

正在获取Sping Boot 应用程序JsonParser已弃用消息,

JsonObject jsonObject = new JsonParser().parse(result).getAsJsonObject();

还有其他选择吗

5cg8jx4n

5cg8jx4n1#

基于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();

范例

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

    }
}

相关问题