我正在调用一个返回Map的函数。我想将Object转换为模型。
public List<Item> getProducts(String itemNumber) throws Exception {
MapSqlParameterSource parameters = new MapSqlParameterSource();
params.addValue("flagA", "D");
params.addValue("descA", itemNumber);
Map<String, Object> results = execute(programName, parameters );
List<Item> list = (List<Item>) results.get("#result");
return list;
}
以下是返回的示例:
[
{
"ITEM#": "123456",
"ITEM_NAME": "ITEM NAME"
}
]
这是我的模特(使用龙目岛):
@Data
@Wither
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class Item{
String itemNumber;
String itemName;
}
这样做会产生错误;
List<Item> list = (List<Item>) results.get("#result");
System.out.println(list.get(0).getItemNumber());
答案 0 :(得分:1)
更改行:
List<Item> list = (List<Item>) results.get("#result");
到
List<Item> list = new ArrayList<Item>(results.values());
使用Map的值创建一个新列表,然后丢弃键。