Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java jackson解析器异常:意外字符_Java_Jackson - Fatal编程技术网

Java jackson解析器异常:意外字符

Java jackson解析器异常:意外字符,java,jackson,Java,Jackson,我得到一个json流,并试图使用jackson将其转储到map中。下面是我得到的json语法: M1{"id":"2345","results":"2"} R1{"Title":"Titanic","country":"US"} R2{"Title":"Avatar","country":"US"} 现在,我有以下代码在jackson解析器中解析此流: ObjectMapper mapper = new ObjectMapper(); InputStreamReader s

我得到一个json流,并试图使用jackson将其转储到map中。下面是我得到的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>>() { });
我想将两个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。

传入数据不是JSON(即使它确实包含JSON元素)。您必须对流进行预处理。
[{"key"="M1","id":"2345","results":"2"},
{"key"="R1","Title":"Titanic","country":"US"},
{"key"="R2","Title":"Avatar","country":"US"}]