json中的ObjectMapper.readvalue

时间:2015-08-10 13:32:40

标签: java json junit

在对象映射器类中,当我将参数作为“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;

1 个答案:

答案 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);
    }