Gson:JSON反序列化问题

时间:2017-04-30 13:35:54

标签: java gson

我试图使用Gson的自定义反序列化来反序列化JSON文件,但我想我没有做到这一点,没有任何反序列化。这是我的代码

如果我使用的回复类型不正确,请指导我。我不确定我是否也能正确地做到这一点。

GsonHelper.java

public <T> T ProcessData(Class<T> ClassType, String Data)
{

     Gson gson = new GsonBuilder().registerTypeAdapter(ClassType , new 
     JsonDeserializerHelper(ClassType)).create();
     return gson.fromJson(Data,ClassType);

}

JsonDeserializerHelper.java

public class JsonDeserializerHelper implements JsonDeserializer {

private Class<?> InstantiatedClass;
private static final Logger logger = 
Logger.getLogger(JsonDeserializerHelper.class.getName());

public JsonDeserializerHelper(Class instantiatedClass) {
    this.InstantiatedClass = instantiatedClass;
}

@Override
public Object deserialize(JsonElement json, Type type, 
    JsonDeserializationContext context) throws JsonParseException {
    JsonObject jsonObject = (JsonObject) json;


        // Implementation here
    }
    return null;
}
}

每当我尝试返回通用类型的T时,我都无法做到。

我尝试实现的是拥有一个泛型函数,该函数根据其私有类中的实例化类返回任何类。

消耗功能的变量

  Class<?> AnonymousClass = Class.forName(ClassName);
  ProcessClassHelper helperClass = new ProcessClassHelper();
    Object ParsedData = (AccountInfo)helperClass.ProcessData(AnonymousClass,json);

     ArrayList<AccountInfo> test = (ArrayList<AccountInfo>) ParsedData;
     for (AccountInfo acc : test)
      {
          logger.info("First Name: " + acc.getFirstName());
      }

最后一个记录器也不输出任何内容。

0 个答案:

没有答案