【发布时间】:2017-10-04 10:02:09
【问题描述】:
我有一个 JSON,我将其解析为一个 Result 对象列表。此对象包含 5 个字符串字段,称为 photo1、photo2 等(基于 JSON)是否可以将它们直接读入 List 字段?
JSON 喜欢:
{
"ErrorMessage": null,
"Result": [{
"id": "462290",
"name_English": "name in english",
"name_Local": "külföldiül a név",
"zipcode": "5463",
"photo1": "dfglkj.com/blabla",
"photo2": "dfglkj.com/blabla",
"photo3": "dfglkj.com/blabla",
"photo4": "dfglkj.com/blabla",
"photo5": "dfglkj.com/blabla"
}]
}
还有我的对象:
static final class ApiResponse
{
public String ErrorMessage;
public List<Result> Result = new ArrayList<Result>();
}
static final class Result
{
public String id;
public String name_English;
public String name_Local;
public List<String> photos;
public String zipcode;
}
我有一个 ObjectMapper:
private static ObjectMapper newObjectMapper()
{
final ObjectMapper om =
new ObjectMapper() //
.configure(DeserializationConfig.Feature.FAIL_ON_UNKNOWN_PROPERTIES, false) //
.configure(JsonParser.Feature.CANONICALIZE_FIELD_NAMES, true);
om.registerSubtypes(ApiResponse.class);
return om;
}
在解析器中:
final ApiResponse ret = OM.readValue(inputStream, ApiResponse.class);
【问题讨论】:
-
请添加一个示例 json 和你想从中获取的对象,不清楚你在问什么。
-
我更新了问题
-
你做了什么吗?我们可以看看吗?
-
photo1,photo2,... 将是有限的或不固定的
-
你可以用
@JsonAnySetterstackoverflow.com/a/30894845/1398418 来做我认为没有更简单的方法。