文档章节

Jackson解析json数据时,Bean对象的内部类必须定义为static

Dreyer
 Dreyer
发布于 2015/11/21 13:13
字数 202
阅读 3394
收藏 2
问题:一开始是这样定义的
class TempData {


@JsonProperty("Count")
private String Count;
@JsonProperty("Time")
private String Time;
public TempData() {
}


public String getCount() {
return Count;
}


public void setCount(String count) {
Count = count;
}


public String getTime() {
return Time;
}


public void setTime(String time) {
Time = time;
}
}

 
但是在转换的时候抛出异常信息
com.fasterxml.jackson.databind.JsonMappingException: No suitable constructor found for type [simple type, class com.yolipai.wifi.server.statisticsV2.impl.PassengerFlowServiceImpl$TempData]: can not instantiate from JSON object (need to add/enable type information?)
 at [Source: java.io.StringReader@66689699; line: 1, column: 3]
at com.fasterxml.jackson.databind.JsonMappingException.from(JsonMappingException.java:164)
at com.fasterxml.jackson.databind.deser.BeanDeserializerBase.deserializeFromObjectUsingNonDefault(BeanDeserializerBase.java:1078)
at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:268)
at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:124)
at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:227)
at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:204)
at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:23)
at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:2986)
at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:2105)
at com.yolipai.wifi.utils.JsonUtil.jsonToObject(JsonUtil.java:94)

 

解决方案:在class 前加上static,把它变为静态内部类即可解决问题

© 著作权归作者所有

Dreyer
粉丝 7
博文 23
码字总数 13189
作品 0
广州
高级程序员
私信 提问
加载中

评论(1)

帅帅哥哥
可是原因是什么呢
用Google提供的Gson解析JSON数据

解析Json也就是触类旁通的一个过程,废话不说,比如我们要解析一个下面这种的Json,我们用的是Google的一个开源Gson: 首先我们需要定义一个序列化的Bean,这里采用内部类的形式,看起来会比...

AmosWang
2016/12/20
93
0
Jackson转换Json

jackson-annotations-2.6.0.jar jackson-core-2.6.3.jar jackson-databind-2.6.3.jar 注意 Jackson解析嵌套类时,内部类必须声明为static public class Outer {static class Inner {public i......

CrazyManDF
2016/04/03
579
0
使用Gson解析复杂的json数据

在这里我将介绍解析json数据的另外一种方法就是通过Gson解析,对于解析比较简单的json数据我就不介绍了来一个比较复杂一点的json数据,如下面我们要解析的一个json数据: 如果使用JsonObjec...

ForingY
2016/11/08
24
0
Google Gson的使用方法及JSON 技术对比

一 、各个JSON技术的简介和优劣 1.json-lib json-lib最开始的也是应用最广泛的json解析工具,json-lib 不好的地方确实是依赖于很多第三方包, 包括commons-beanutils.jar,commons-collectio...

hapier
2016/11/14
388
0
关于Jackson默认丢失Bigdecimal精度问题分析

问题描述 最近在使用一个内部的RPC框架时,发现如果使用Object类型,实际类型为BigDecimal的时候,作为传输对象的时候,会出现丢失精度的问题;比如在序列化前为金额1.00,反序列化之后为1.0...

ksfzhaohui
2018/10/22
1K
3

没有更多内容

加载失败,请刷新页面

加载更多

c++ 虚基类

c++ 虚基类 p556

天王盖地虎626
12分钟前
10
0
Java中的面向对象

一、面向对象 面向对象和面向过程的区别 过程就是函数,就是写方法,就是方法的一种实现。 对象就是将函数,属性的一种封装。用人们思考习惯的方式思考问题。 如何自定义类 修饰符 类名{ //成...

zhiruochujian
21分钟前
3
0
k8s删除Terminating状态的命名空间

背景: 我们都知道在k8s中namespace有两种常见的状态,即Active和Terminating状态,其中后者一般会比较少见,只有当对应的命名空间下还存在运行的资源,但是该命名空间被删除时才会出现所谓的...

Andy-xu
24分钟前
15
0
seata源码阅读笔记

seata源码阅读笔记 本文没有seata的使用方法,怎么使用seata可以参考官方示例,详细的很。 本文基于v0.8.0版本,本文没贴代码。 seata中的三个重要部分: TC:事务协调器,维护全局事务和分支...

东都大狼狗
37分钟前
5
0
Rust:最小化窗口后 CPU占用率高 (winit,glutin,imgui-rust)

最近试着用 imgui-rust 绘制界面,发现窗口最小化后CPU占用会增大。 查询的资料如下: https://github.com/rust-windowing/winit/issues/783 https://github.com/ocornut/imgui/issues/1151 ...

reter
41分钟前
19
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部