我有一个班级,我有一个名为" list_elements"作为字符串。 这是我的HttpResponse中的jsonObject,因此gson序列化希望将其解析为OBject而不是String。
我可以强迫Gson将其解析为String吗?
感谢' S
答案 0 :(得分:1)
您可以实现自己的反序列化程序。这是一个例子:
import com.google.gson.JsonDeserializer;
public class MyModelDeserializer implements JsonDeserializer<MyModel> {
@Override
public MyModel deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) throws JsonParseException {
JsonObject aJson = json.getAsJsonObject();
String myStringObject = aJson.get("myJsonObjectKeyWhichIwantToParseLikeString").getAsJsonObject().toSttring()
MyModel myModel = new MyModel();
myModel.setMyStringObject(myStringObject);
//Dont forget to deserialize and set in myModel another fields from json if needed.
return myModel;
}
}
并且不要忘记在gson builder中注册您的反序列化程序。你可以这样做:
Gson gson = new GsonBuilder()
...
.registerTypeAdapter(MyModel.class, new MyModelDeserializer())
.create()