【问题标题】:Can not deserialize instance of java.lang.Class out of START_OBJECT token无法从 START_OBJECT 令牌中反序列化 java.lang.Class 的实例
【发布时间】:2010-07-01 09:51:40
【问题描述】:

我无法正确理解运行此代码时遇到的错误:

InputStream is = this.getClass().getClassLoader().getResourceAsStream(filename);  
String jsonTxt = IOUtils.toString(is);  
JSONArray json = (JSONArray) JSONSerializer.toJSON(jsonTxt);  
JSONObject metadatacontent = json.getJSONObject(0);   
ObjectMapper mapper = new ObjectMapper();  
mapper.readValue(metadatacontent.toString(), MetadataContentBean.class.getClass());

错误:

org.codehaus.jackson.map.JsonMappingException: 无法反序列化实例 java.lang.Class 超出 START_OBJECT [来源: java.io.StringReader@e3b895;线:1, 列:1] 在 org.codehaus.jackson.map.JsonMappingException.from(JsonMappingException.java:159) 在 org.codehaus.jackson.map.deser.StdDeserializationContext.mappingException(StdDeserializationContext.java:192) 在 org.codehaus.jackson.map.deser.StdDeserializer$ClassDeserializer.deserialize(StdDeserializer.java:439) 在 org.codehaus.jackson.map.deser.StdDeserializer$ClassDeserializer.deserialize(StdDeserializer.java:421) 在 org.codehaus.jackson.map.ObjectMapper._readMapAndClose(ObjectMapper.java:1588) 在 org.codehaus.jackson.map.ObjectMapper.readValue(ObjectMapper.java:1116) 在 com.path.parser.JSon.Parser(JSon.java:65) 在 com.path.parser.JSon.main(JSon.java:29)

什么意思??

也许如果我知道这一点,我就能找出我的错误。

【问题讨论】:

    标签: java jackson


    【解决方案1】:

    你的问题是最后一行:

    MetadataContentBean.class.getClass()
    

    这意味着“为 MetadataContentBean 类获取Class 对象,然后为该Class 对象获取Class 对象”......如果你明白我的意思。因此,您要求 Jackson 将您的 JSON 反序列化为 Class 对象,但它不知道该怎么做。

    这应该只是

    MetadataContentBean.class
    

    【讨论】:

    • 谢谢,这是问题所在,但无论如何我想知道错误的含义是什么!再次感谢
    【解决方案2】:

    这可能与另一个问题有关,但只是为了完成答案,错误来自差异:类型“java.lang.Class”被序列化为JSON字符串(类名本身),而不是像JSON对象一样豆是。所以反序列化器期望看到一个 JSON 字符串,而不是看到一个 JSON 对象(以 START_OBJECT 开头)并抛出异常。

    【讨论】:

      猜你喜欢
      • 2019-03-06
      • 2021-09-05
      • 2020-07-22
      • 2019-06-01
      • 2019-12-22
      • 2019-02-12
      • 2014-01-17
      • 2013-10-23
      相关资源
      最近更新 更多