有没有简单的方法来转换这个json:
{
...,
"pictures": [
"url1",
"url2"
],
...
}
到
List<Picture> pictures
图片所在:
class Picture{
String url;
}
它不会像上面那样工作,因为我有一个异常(exception),说
Expected BEGIN_OBJECT but was STRING
最佳答案
您需要为此实现一个自定义解串器。
应该看起来像这样(我没有尝试执行,但这应该让您知道从哪里开始,大概您的 Picture.class< 中有一个带有
)String
参数的公共(public)构造函数
private class PictureDeserializer implements JsonDeserializer<Picture> {
public Picture deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context)
throws JsonParseException {
return new Picture(json.getAsJsonPrimitive().getAsString());
}
}
应该注册:
GsonBuilder gson = new GsonBuilder();
gson.registerTypeAdapter(Picture.class, new PictureDeserializer());
关于java - JSON 将单个字符串解析为对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38378385/