【发布时间】:2015-02-19 08:16:43
【问题描述】:
我正在使用一个总是这样响应的 API:
{
"stuff_i_need": [
{
"title": "Hello"
},
{
"title": "World!"
}
],
"status": "success"
}
和
{
"other_things_key":
{
"version": "208"
},
"status": "success"
}
总是有两个元素,我只需要一个不是“状态”的元素。 我也想用一个 GsonBuilder 来做到这一点。
我试过了:
new GsonConverter(new GsonBuilder()
.registerTypeAdapter(List.class, new JsonDeserializer<List>() {
@Override
public List deserialize(JsonElement json, Type typeOfT,
JsonDeserializationContext context)
throws JsonParseException {
final JsonObject jsonObject = json.getAsJsonObject();
for (Map.Entry<String, JsonElement> entry : jsonObject.entrySet()) {
final JsonElement element = entry.getValue();
if (element.isJsonArray()) {
return new Gson().fromJson(element.getAsJsonArray(),
new TypeToken<List>(){}.getType());
}
}
return null;
}
)
但我认为这是不对的,也不满足更广泛的条件。
【问题讨论】: