在对象映射器类中,当我将参数作为“abc,asd”传递时,我得到 JsonParseException (用于Junit测试目的)。请说明为什么会遇到此例外情况。 它将接受进一步处理的价值。
select sum(mrp),
CASE WHEN is_realised = 1
THEN
SUM(mrp)
ELSE
0
END AS realised_mrp,
CASE WHEN is_shipped = 1
THEN
SUM(mrp)
ELSE
0
END AS shipped_mrp
from rev
group by date;
答案 0 :(得分:1)
您收到此异常是因为abc,asd
不是有效的JSON。 JSON是一个基本上具有键和值的Javascript对象。例如:
{"abc":"abc"}
并且可以获得这些列表:
[{"abc":"abc"}, {"asd":"asd"}]
因此,有效的代码是:
ObjectMapper mapper = new ObjectMapper();
List<LinkedHashMap> listM = mapper.readValue("[{\"abc\":\"abc\"}, {\"asd\":\"asd\"}]", ArrayList.class);
for (Iterator iterator = listM.iterator(); iterator.hasNext();) {
LinkedHashMap linkedMap = (LinkedHashMap) iterator.next();
System.out.println(linkedMap);
}