Java中自定义对象的Room TypeConverter
这是我的自定义对象:Java中自定义对象的Room TypeConverter,java,android,android-room,typeconverter,Java,Android,Android Room,Typeconverter,这是我的自定义对象: public class Proceeding { @SerializedName("code") private String code; @SerializedName("hasAccount") private boolean hasAccount; @SerializedName("description") private String descrip
public class Proceeding {
@SerializedName("code")
private String code;
@SerializedName("hasAccount")
private boolean hasAccount;
@SerializedName("description")
private String description;
@SerializedName("pricePattern")
private String pricePattern;
// Getters & Setters ...
}
我需要一个房间的TypeConverter类,这是我的TypeConverter类:
public class ProceedingTypeConverter {
@TypeConverter
public static Proceeding fromString(String value) {
Type type = new TypeToken<String>() {
}.getType();
return new Gson().fromJson(value, type);
}
@TypeConverter
public static String fromObject(Proceeding obj) {
Gson gson = new Gson();
return gson.toJson(obj);
}
}
我怎样才能解决这个问题
更新:
我将TypeConverter类更改为:
public class ProceedingTypeConverter {
@TypeConverter
public Proceeding fromString(String value) {
return new Gson().fromJson(value, Proceeding.class);
}
@TypeConverter
public static String fromObject(Proceeding obj) {
Gson gson = new Gson();
return gson.toJson(obj);
}
}
但调用API时仍会出错:
com.google.gson.JsonSyntaxException: java.lang.IllegalStateException:
Expected a string but was BEGIN_OBJECT at line 1 column 3125 path $[0].store
您不需要从字符串(字符串值){return new Gson().fromJson(value,procepting.class);}开始使用以下代码。它会起作用的。不,不,不@ShohelRana运行时错误已解决,但我在调用API时遇到此错误:
com.google.gson.JsonSyntaxException:java.lang.IllegalStateException:应为字符串,但在第1行第3125列路径$[0]处为BEGIN_对象。存储
当您的respone json和gson模型不相同时,将发生此错误。你能分享你的json文件吗
com.google.gson.JsonSyntaxException: java.lang.IllegalStateException:
Expected a string but was BEGIN_OBJECT at line 1 column 3125 path $[0].store