我正在查看谷歌提供的以下 Gson 库。在我关注的教程中,我发现了以下代码片段;
public class JsonToJava {
public static void main(String[] args) throws IOException {
try(Reader reader = new InputStreamReader(JsonToJava.class.getResourceAsStream("/Server1.json"), "UTF-8")){
Gson gson = new GsonBuilder().create();
Person p = gson.fromJson(reader, Person.class);
System.out.println(p);
}
}
}
是否可以使这个通用,例如,如果你有以下参数
public Object getObjectFromJSONString(String jsonString, Class classType){
然后我们知道类类型,是否可以返回任何对象类型,或者我是否必须有单独的方法,convertJSONToClassA、convertJSONToClassB、convertJSONToClassC 等等?
最佳答案
这将返回 classType
的泛型类型参数是。如果您使用 Class<String>
调用它, 然后它返回一个 String
等等……
public <T> T getObjectFromJSONString(String jsonString, Class<T> classType) {
// Your code here
}
这正是Gson#fromJson(String, Class)
的实现
关于java - 如何使对象返回通用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25366102/