【发布时间】:2015-12-07 03:03:46
【问题描述】:
str = "[tdr1w6v, tdr1w77]";
ObjectMapper objectMapper = new ObjectMapper();
JavaType type = objectMapper.getTypeFactory().
constructCollectionType(ArrayList.class, String.class);
ArrayList<String> list = null;
try {
list = objectMapper.readValue(str,
new TypeReference<ArrayList<String>>(){});
} catch (IOException e) {
e.printStackTrace();
}
这里抛出异常:
com.fasterxml.jackson.core.JsonParseException: Unrecognized token 'tdr1w6v': was expecting 'null', 'true', 'false' or NaN
如何将 str 转换为字符串的 ArrayList ?
【问题讨论】:
-
这似乎不是正确的 JSON。你从哪里得到它?试试
"[\"tdr1w6v\", \"tdr1w77\"]";。 -
实际上我将 JSONArray 映射到 ArrayList
并将 ArrayList<String>.toString转储到 db。 -
如果您想使用 JSON 解析器检索它,请将
JSONArray转换为表示有效 JSON 结构的字符串。JSONArray来自哪个包? -
{"path": [ "tdr1w6v", "tdr1w77" ]}将其映射到ArrayList<String> path。然后使用模型类创建DAO并将数据推送到数据库。在 DAO 实现的映射器中,我将其转换为path.toString()。也就是这个方法在db中保存的格式。 -
你大概可以得到答案[这里][1] [1]:stackoverflow.com/questions/7347856/…