Spring JsonParser已弃用
正在获取Spring Boot应用程序的Spring JsonParser已弃用,spring,spring-boot,parsing,gson,jsonparser,Spring,Spring Boot,Parsing,Gson,Jsonparser,正在获取Spring Boot应用程序的JsonParser的弃用消息 JsonObject jsonObject = new JsonParser().parse(result).getAsJsonObject(); 替代方案是什么?基于适用于Gson 2.8.6的 不需要实例化这个类,而是使用静态方法 以下是要使用的替代方案 //jsonString is of type java.lang.String JsonObject jsonObject = JsonParser.parseS
JsonParser
的弃用消息
JsonObject jsonObject = new JsonParser().parse(result).getAsJsonObject();
替代方案是什么?基于适用于Gson 2.8.6的
不需要实例化这个类,而是使用静态方法
以下是要使用的替代方案
//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));
}
如果使用的是JsonPraser,则消息说不需要实例化此类,请改用静态方法。此外,您还可以根据我使用的
parse()
paramcom.google.code.gson:gson:2.8.6
Noparse()
JsonParser类可用的方法使用正确的静态方法。共享的代码显示parse(result)
method used,对于result
类型有其他静态方法。result
参数的类型是什么?字符串、读取器还是JsonReader?获取java.lang.UnsupportedOperationException:JsonObject
在我使用JsonObject JsonObject=JsonParser.parseString之后(result).getAsJsonObject();
什么是结果
类型?它应该是一个字符串objecttype,它的类型为JsonObject
JsonParser.parseString(jsonString).getAsJsonObject();
这里的参数应该是字符串
对象。对于您来说,参数名称是结果
,将其转换为字符串
,然后尝试(可能是.toString()
)检查。这是与问题共享的代码的替代方案