繁体   English   中英

jackson解析器异常:意外字符

[英]jackson parser exception: unexpected Character

我正在获取json流并尝试使用jackson将其转储到地图中。 下面是我得到的json的语法:

M1{"id":"2345","results":"2"}
R1{"Title":"Titanic","country":"US"}
R2{"Title":"Avatar","country":"US"}

现在我有以下代码在jackson解析器中解析此流:

     ObjectMapper mapper = new ObjectMapper();
     InputStreamReader stream = new InputStreamReader(
                urlConn.getInputStream(),org.apache.commons.lang.CharEncoding.UTF_8);
        Map<String,Object> result = mapper.readValue(stream, new TypeReference<Map<String,Object>>() { });

我看到下面的错误:

Unexpected character ('M' (code 77)): expected a valid value (number, String, array, object, 'true', 'false' or 'null')
at [Source: java.io.InputStreamReader@1d6e3d2; line: 1, column: 2]

我想把两个json结果中的每一个都放到两个地图中。 我无法改变json结构。

有人可以解释如何让它发挥作用。

不是JSON:

M1{"id":"2345","results":"2"}
R1{"Title":"Titanic","country":"US"}
R2{"Title":"Avatar","country":"US"}

是JSON:

[{"key"="M1","id":"2345","results":"2"},
{"key"="R1","Title":"Titanic","country":"US"},
{"key"="R2","Title":"Avatar","country":"US"}]

我不确定这是否与您的数据完全匹配,但这就是您表示对象数组的方式。 如果您要使用JSON解析器,则需要确保要解析的内容实际上是JSON。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM