JsonMappingException

问题描述

ObjectMapper mapper = new ObjectMapper(); JsonNode jsonNode = mapper.readTree(json); JsonNode jn = jsonNode.get("indexs");System.out.println(jn.toString());Indexs p = mapper.readValue(json, Indexs.class); org.codehaus.jackson.map.JsonMappingException: No suitable constructor found for type [simple type, class com.abc.search.vo.IndexField]: can not instantiate from JSON object (need to add/enable type information?) at [Source: java.io.StringReader@33a626ac; line: 1, column: 70] (through reference chain: com.abc.search.vo.Indexs["indexs"]->com.abc.search.vo.Index["indexFields"])详细问题:http://www.iteye.com/problems/94592 问题补充:IndexField 类/** * */package com.abc.search.vo;import java.io.Serializable;import java.util.Date;public class IndexField implements Serializable {private static final long serialVersionUID = 2140557360587491345L;public static final int TYPE_STRING = 1;public static final int TYPE_LONG = 2;public static final int TYPE_INT = 3;public static final String FIELD_ID = "index_id";public static final String FIELD_CREATETIME = "index_createTime";private String name;private String strValue;private long longValue;private int intValue;private int type;private boolean analyzed;private boolean highlight;public IndexField(){}public IndexField(String name, String value) {this(name, value, true, true);}public IndexField(String name, String value, boolean analyzed, boolean highlight) {this.name = name;this.strValue = value != null ? value : "";this.type = TYPE_STRING;this.analyzed = analyzed;this.highlight = highlight;}public IndexField(String name, Date value){this.name = name;this.longValue = value.getTime();this.strValue = String.valueOf(value);this.type = TYPE_LONG;this.analyzed = false;this.highlight = false;}public IndexField(String name, long value){this.name = name;this.longValue = value;this.strValue = String.valueOf(value);this.type = TYPE_LONG;this.analyzed = false;this.highlight = false;}public IndexField(String name, int value){this.name = name;this.intValue = value;this.strValue = String.valueOf(value);this.type = TYPE_INT;this.analyzed = false;this.highlight = false;}public String getName() {return name;}public int getType() {return type;}public String getStrValue() {return strValue;}public long getLongValue() {return longValue;}public int getIntValue() {return intValue;}public boolean isAnalyzed() {return analyzed;}public boolean isHighlight() {return highlight;}}

解决方案

运行了你这个IndexField,没有问题的。最好把json相关的bean都贴出来,像我上次回复你的那样,你那个json也就3个bean:IndexField、Index、Indexs(按照你的写法)
解决方案二:
IndexField 有空参构造器吗
解决方案三:
No suitable constructor found for type [simple type, class com.abc.search.vo.IndexField], 把com.abc.search.vo.IndexField的代码贴出来

时间: 2024-09-17 12:27:47

JsonMappingException的相关文章

JsonMappingException: (was java.lang.NullPointerException)

使用jackson 序列化Java对象的时候报异常: Java代码   com.fasterxml.jackson.databind.JsonMappingException: (was java.lang.NullPointerException) (through reference chain: com.chanjet.gov.Student["age"])       at com.fasterxml.jackson.databind.JsonMappingException.

对象-JsonMappingException问题,求大神解答

问题描述 JsonMappingException问题,求大神解答 求大神解答: 从服务器获取了一段json,现在要转成bean. 上代码: public static Object Json2Gson( Class<?> clz,String jsonString) throws IOException { ObjectMapper objectMapper = new ObjectMapper(); objectMapper.configure(DeserializationFeature

【jackson 异常】com.fasterxml.jackson.databind.JsonMappingException异常处理

项目中,父层是Gene.java[基因实体]  子层是Corlib.java[文集库实体],一种基因对用多个文集库文章 但是在查询文集库这个实体的时候报错:[com.fasterxml.jackson.databind.JsonMappingException] 1 com.fasterxml.jackson.databind.JsonMappingException: No serializer found for class org.hibernate.proxy.pojo.javassis

jsonp 常用util方法

jsonp 常用Java方法 (1)以jsonp的形式返回:函数名(json字符串) Java代码   /***       * 用于jsonp调用       * @param map : 用于构造json数据       * @param callback : 回调的javascript方法名       * @param filters : <code>SimpleBeanPropertyFilter theFilter = SimpleBeanPropertyFilter       

Jackson 反序列化为List

使用Jackson 如何把json字符串反序列化为List呢?  (List中是自定义对象)  先看下常规的反序列化: Java代码   @Test       public void test_reserialize(){           String jsonInput = "{\"addrr\":{\"country\":\"中国\",\"state\":\"湖北省\",\"s

如何使用Json实现Java和C的#沟通和通信

我们在项目里经常要涉及到各模块间的通信,这其中又不可避免要碰到各类语言间之间的通信,比如之前做的一个项目里面就是Java发的消息需要C#接收,(具体消息是怎么传输的可以使用RabbitMQ等,关于RabbitMQ的使用总结可以看我之前的博客),都是面向对象的语言,而面向对象的消息怎么反解析到C#是个难题.下面就是使用Json密器让Java和C#沟通的具体办法的总结. 摘要:Json是Java和C#之间通信的利器,Java端将Java对象转变为Json串后发出,C#端接收到Json串后转换为C#对

spring MVC 返回json

spring MVC如何返回json呢? 有两种方式: 方式一:使用ModelAndView Java代码   @ResponseBody       @RequestMapping("/save")       public ModelAndView save(SimpleMessage simpleMessage){           //查询时可以使用 isNotNull           if(!ValueWidget.isNullOrEmpty(simpleMessage

几种序列化协议(protobuf,xstream,jackjson,jdk,hessian)相关数据对比

最近研究了下google protobuf协议,顺便对比了一下json,xml,java序列化相关的数据对比,从几个纬度进行对比.   别人的相关测试数据: http://code.google.com/p/thrift-protobuf-compare/wiki/Benchmarking   测试纬度 序列化时间 反序列化时间 bytes大小 测试代码 准备protobuf文件 1.import "InnerMessage.proto"; 2.package demo; 3.opti

Jackson Json序列化的问题

问题描述 json={"id":1,"date":1359121059785,filter:["a","b","c"]}如何通过Jackson Json拿到 filter的字符串要类似于JSONObject.fromObject(json).get(filter) 直接可以拿到filter请问怎么做 解决方案 public static void getJson(){String json = "