org.codehaus.jackson序列号json绑定spring3.0对象的错误解决办法

jackson 完整Jar包 Jackson fasterxml和codehaus的区别: 他们是Jackson的两大分支、也是两个版本的不同包名。Jackson从2.0开始改用新的包名fasterxml;1.x版本的包名是codehaus。除了包名不同,他们的Maven artifact id也不同。1.x版本现在只提供bug-fix,而2.x版本还在不断开发和发布中。如果是新项目,建议直接用2x,即fasterxml jackson。 P.S. Jackson可以轻松的将Java对象转换成json对象和xml文档,同样也可以将json、xml转换成Java对象。 官网:http://wiki.fasterxml.com/JacksonHome 三个主要的模块: jackson-core:核心包 jackson-annotations:注解包 jackson-databind:数据绑定包 jackson-databind需要引用另外两个包,所以如果项目中需要jackson-databind,则只需要加入它的dependency就行了,其他两个会自动引入: <dependency> <groupId>com.fasterxml.jackson. 立即下载

java对象结构是

Role.java里有  pring Set<Resource> resources;

下面是传输到后台的json

{id:"11",resources:[{id:"402881972acf9acd012ad075b68a0005",checkState:false},{id:"402881972acf9acd012ad075da010006",checkState:true}]}

 

发现报错

严重: Servlet.service() for servlet dispatcher threw exception
org.codehaus.jackson.JsonParseException: Unexpected character ('i' (code 105)): was expecting double-quote to start field name
 at [Source: [B@1328280; line: 1, column: 3]
 at org.codehaus.jackson.JsonParser._constructError(JsonParser.java:943)
 at org.codehaus.jackson.impl.JsonParserBase._reportError(JsonParserBase.java:636)
 at org.codehaus.jackson.impl.JsonParserBase._reportUnexpectedChar(JsonParserBase.java:569)

 

我使用的是这个函数转换为json字符串

function obj2str(o){
 var r = [];
 if(typeof o =="string") return "/""+o.replace(/([/'/"//])/g,"//$1").replace(/(/n)/g,"//n").replace(/(/r)/g,"//r").replace(/(/t)/g,"//t")+"/"";
 if(typeof o == "object"){
  if(!o.sort){
   r[0]="{"
   for(var i in o){
    r[r.length]=i;
    r[r.length]=":";
    r[r.length]=obj2str(o[i]);
    r[r.length]=",";
   }
   if(!!document.all && !/^/n?function/s*toString/(/)/s*/{/n?/s*/[native code/]/n?/s*/}/n?/s*$/.test(o.toString)){
    r[r.length]="toString:"+o.toString.toString();
    r[r.length]=",";
   }
   r[r.length-1]="}"
  }else{
  r[0]="["
   for(var i =0;i<o.length;i++){
    r[r.length]=obj2str(o[i]);
    r[r.length]=",";
   }
   r[r.length-1]="]"
  }
  return r.join("");
 }
 return o.toString();
}

 

 

无奈自己在后台写了  String json="{/"id/":/"111/"};

居然成功了,   仔细观察原来是 jackson要求的json格式很严格

{id:"11",resources:[{id:"402881972acf9acd012ad075b68a0005",checkState:false},{id:"402881972acf9acd012ad075da010006",checkState:true}]}

发现  id 这些变量都少了  " 冒号

googel了   JSON.String     Prototype.toJSON 两个js工具,  但是跟jquery1.4.2冲突。

最好还是返回到最初用的那个函数

把r[r.length]=i;

改为

r[r.length]='"'+i+'"';

 @RequestMapping(value = "authRoleResource.html")
 public String authRoleResource(String json,ModelMap model) throws JsonParseException, JsonMappingException, IOException{
  byte[] b = json.getBytes();
  Role role=this.getObjectMapper().readValue(b, 0, b.length, Role.class);

 

绑定成功。    大家可以看到这样很方便,   readValue也可以支持字符串参数的,  这里用byte是提高性能。

 

json-lib最新是支持jdk1.5   现在已经停止更新了

json-lib转换集合的时候需要一个map指定 resources, Resource.class    麻烦了一步。

jackson性能比json-lib高出5倍以上, 我看到多篇文章有测试数据,  自己没测,   只是觉得他的API比较好用。

 

从社区的活跃程度来看  jackson是最好的, 而且也是spring3源码里集成的json转换工具。

 

大家在spring3.0里的   @ResponseBody   用的就是jackson这东西, 只是没注意而已。

 

另外如果用Hibernate不用OpenSessionInView的话需要修改   (OpenSessionInView  超恶心的东西, 性能的万恶之源)

BeanPropertyWriter.java

的函数为下面这段,  不然会报 No Session 错误。  我用的jackson是1.5.6版本。

   

 

DeepQA: A Unified Transcriptome-Based Aging Clock Using Deep Neural Networks 摘要: 本研究针对转录组衰老时钟存在的关键局限——仅在健康样本训练导致对患病个体预测偏差的问题,提出DeepQA,一种基于专家混合架构与新型Hinge-MAE损失函数的深度学习模型。通过同时利用健康与患病个体的异质数据训练,DeepQA显著提升预测精度:在健康个体上MAE比现有方法低1.5年,且是首个能正确处理五类疾病条件的模型。其创新性体现在: 方法学突破:Hinge-MAE损失函数消除健康/患病样本的训练偏差,专家混合架构高效整合多队列数据; 流程革新:摒弃传统基因预筛选步骤,通过显著图分析直接识别衰老 阅读详情

相关推荐

Claude Code教程(二) | Claude Code 核心信息与使用指南

Claude Code 核心信息与使用指南

qq_20236937的博客 2183

Jackson fasterxml和codehaus的区别 (fasterxml vs. codehaus)

Jackson fasterxml和codehaus的区别: 他们是Jackson的两大分支、也是两个版本的不同包名。Jackson从2.0开始改用新的包名fasterxml; 1.x版本的包名是codehaus。除了包名不同,他们的Maven artifact id也不同。1.x版本现在只提供bug-fix, 而2.x版本还在不断开发和发布中。如果是新项目,建议直接用2x,即fasterxml jackson。 Jackson可以轻松的将Java对象转换成json对象和xml文档,同样也可以将json、x

weixin_44228952的博客 2715

QMT vs Ptrade:量化交易新手如何根据需求选择券商系统(附实战案例)

本文对比了QMT和Ptrade两大券商量化交易系统的核心差异,帮助量化交易新手根据需求选择合适的平台。QMT适合技术面策略开发,执行效率高;Ptrade则提供全面的财务数据和复杂策略支持。通过实战案例,展示了如何结合两平台优势实现高效量化交易。

weixin_42683394的博客 527

Jackson异常情况处理

Jackson异常情况处理 分类: J2EE2014-02-26 21:18 486人阅读 评论(0) 收藏 举报 1、空值转换-异常情况: [html] view plaincopy Can not instantiate value of type [map type; class java.util.HashMap, [si

legend_x的专栏 6万+

Hyper-V虚拟交换机实战:外部/内部/专用网络配置全解析

本文全面解析Hyper-V虚拟交换机的三种核心类型:外部、内部和专用网络。详细阐述了外部交换机如何让虚拟机融入物理网络,内部交换机如何构建宿主机与虚拟机的私有通道,以及专用交换机如何实现虚拟机间的完全隔离。通过实战配置步骤、IP规划建议和OpenWRT软路由案例,帮助用户根据需求灵活部署,并特别强调了外部交换机配置中“允许管理操作系统共享此网络适配器”这一关键选项的重要性,以避免宿主机断网。

weixin_29218963的博客 543

Keil MDK-ARM v5.43a 部署 STM32F103 开发环境全流程

嵌入式开发环境是 Cortex-M 微控制器工程落地的基础支撑,其核心在于编译器链、设备支持包(DFP)与调试驱动的协同一致性。Keil MDK-ARM 作为工业级 ARM Cortex-M 开发套件,依托 Arm Compiler 和 CMSIS 标准,提供从代码编译、外设抽象到实时调试的全栈能力。其技术价值体现在对 STM32 等主流 MCU 的深度适配、高可靠性 SWD 调试支持,以及与 HAL 库、CubeMX 工程的无缝集成。典型应用场景涵盖温湿度传感终端、工业 PLC 子模块及低功耗边缘节点开发

weixin_33750664的博客 886

【SpringBoot】Jackson框架应用

文章目录Jackson 的 基本用法ObjectMapper的使用信息配置Jackson 的 注解的使用泛型反序列化属性可视化 Jackson 是当前用的比较广泛的,用来序列化和反序列化 json 的 Java 的开源框架。Jackson 社 区相对比较活跃,更新速度也比较快, 从 Github 中的统计来看,Jackson 是最流行的 json 解析器之一 。 Spring MVC 的默认 json 解析器便是 Jackson。 Jackson 优点很多

qgnczmnmn的博客 1599

【全局路径规划模块全覆盖算法】(三)代码实现:Boustrophedon Cellular Decomposition Path Planning用珊格地图生成每个cell的覆盖路径

认知有限,望大家多多包涵,有什么问题也希望能够与大家多交流,共同成长!本文先对Boustrophedon Cellular Decomposition Path Planning用珊格地图生成每个cell的覆盖路径做个简单的介绍,具体内容后续再更,其他模块可以参考去我其他文章提示:以下是本篇文章正文内容。

qq_35635374的博客 1832

json处理之org.codehaus.jackson

我在写subscriptionEvent接口时,使用的解析post json内容时,使用的是org.codehaus.jackson来解析的: 接收的post json请求体: {subscriptionEvents:[{"subscriptionTier":"DELETE","startDate":null,"transactionId":"1111111","paymentType":nu...

零零落落的博客 9333

智能手表PCB布局:PPG与IMU传感器噪声隔离与应力解耦设计

在可穿戴设备硬件开发中,PCB布局已超越传统布线范畴,成为决定信号完整性、电磁兼容性与机械可靠性的核心环节。心率传感器(PPG)依赖微伏级光电容积脉搏波信号,极易受数字开关噪声与电源纹波干扰;姿态传感器(IMU)则对PCB弯曲形变引发的机械应力高度敏感。其布局需融合电磁场建模、热-力-电多物理协同及高密度互连约束。关键技术价值体现在噪声路径切断、地弹抑制、应力方向解耦与电源域隔离等工程实践。典型应用场景涵盖智能手表、医疗级贴片设备及微型运动传感终端。本文聚焦PPG与IMU两大模组在STM32L4平台上的实操

weixin_32869687的博客 172

AutoSAR系列讲解 - 总目录

博主想在开始前先讲一下我们的具体安排,这里就以目录加说明的形式展示出来,同时这也可以作为大家学习AutoSAR的参考。由于实践篇需要在很久以后才会更新,所以这里我们先罗列一下理论篇的内容,实践篇等开始更新的时候我再补充上

雪云飞星的博客 49万+

Jackson 框架

Jackson 框架 Jackson可以轻松的将Java对象转换成json对象和xml文档,同样也可以将json、xml转换成Java对象。 前面有介绍过json-lib这个框架,在线博文:http://www.cnblogs.com/hoojo/archive/2011/04/21/2023805.html 相比json-lib框架,Jackson所依赖的jar包较少,简单易用并且性能也要

houlc的专栏 1759

手把手教你 RT-DETR 添加注意力机制 | 一次性添加 20+ 种!

手把手教你 RT-DETR 添加注意力机制 | 一次性添加 20+ 种!

Coding... 2851

开发者的秘密武器:深入学习org.codehaus.jackson.map.ObjectMapper

本文将深入研究Java中JSON处理库Jackson的核心组件之一——org.codehaus.jackson.map.ObjectMapper。我们将探讨其基本用法,了解如何序列化和反序列化Java对象,并深入研究一些高级特性,如自定义序列化和反序列化,处理复杂对象结构等。通过学习本文,你将成为Jackson ObjectMapper的真正大师。

todoitbo的博客 6604

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Jackson 框架,轻易转换JSON

Jackson可以轻松的将Java对象转换成json对象和xml文档,同样也可以将json、xml转换成Java对象。 前面有介绍过json-lib这个框架,在线博文:http://www.cnblogs.com/hoojo/archive/2011/04/21/2023805.html 相比json-lib框架,Jackson所依赖的jar包较少,简单易用并且性能也要相对高些。而且Jackson社区相对比较活跃,更新速度也比较快。 一、准备工作 1、 下载依赖库jar包 Jackson的jar

hoojo 8960

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Java使用ObjectMapper报错:org.codehaus.jackson.JsonGenerationException解决方法

说明: 在使用 objectMapper.writeValueAsString(employees) 方法时,一直报红:【org.codehaus.jackson.JsonGenerationException】 编译报错:�����org.codehaus.jackson.map������ 原因: jar 包依赖错误,换成正确的 jar 包即可 maven <!-- https://mvnrepository.com/artifact/org.codehaus.jackson/jack.

weixin_44276313的博客 3511

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

JackSon学习笔记(一)

概述: Jackson框架是基于Java平台的一套数据处理工具,被称为“最好的Java Json解析器”。  Jackson框架包含了3个核心库:streaming,databind,annotations. Jackson版本: 1.x (目前版本从1.1~1.9)与2.x。1.x与2.x从包的命名上可以看出来,1.x的类库中,包命名以:org.codehaus.jackson

java_huashan的专栏 6万+

关于jackson的那些坑

工作时,因使用版本不同被Jackson搞得乱七八糟的,下面直接看问题吧!1.出处不同的Jackson分支:    第一种:codehaus jackson    jackson 1.x版本的包名是codehaus    第二种:fasterxml  jackson      jackson从2.0开始改用新的包名fasterxml  两者中使用忽略空值或其他的注解也是不同:codehaus:@Js...

qq_32403351的博客 1225

Jackson使用详解

Jackson 是当前用的比较广泛的,用来序列化和反序列化 json 的 Java 的开源框架。Jackson 社区相对比较活跃,更新速度也比较快, 从 Github 中的统计来看,Jackson 是最流行的 json 解析器之一。Spring MVC 的默认 json 解析器便是 Jackson。Jackson 优点很多。Jackson 所依赖的 jar 包较少 ,简单易用。与其他 Java 的 json 的框架 Gson 等相比, Jackson 解析大的 json 文件速度比较快;

qq_32907491的博客 2023

com.fasterxml.jackson.core.JsonParseException: Unexpected character ('i' (code 105)): was expecting ...

com.fasterxml.jackson.core.JsonParseException: 意外的字符 (i (code 105)): 期望双引号来开始字段名。 这个错误消息表明在解析 JSON 文本时遇到了意外的字符 "i"。这通常是因为 JSON 文本中的字段名应该用双引号引起来,但在解析时遇到了其他字符。 例如,以下 JSON 文本会导致这个错误: { i_am_a_field:"fi...

weixin_42588877的博客 4235

非法将消息正文单例注入到公共org.codehaus.jackson.jaxrs.JacksonJsonProvider中

问题 在RESTEasy中使用Jackson作为JSON提供程序。 <dependency> <groupId>org.jboss.resteasy</groupId> <artifactId>resteasy-jaxrs</artifactId> <version>2.2.1.GA</versi...

一名可爱的技术搬运工 951

启动项目时报错java.lang.NoClassDefFoundError: org/codehaus/jackson/JsonProcessingException

缺少jackson相关的jar包,在pom.xml中添加 org.codehaus.jackson jackson-mapper-asl 1.9.11

yan_yzy的博客 2515

Jmeter脚本调试1-JSON parse error: Unexpected character (‘i‘ (code 105)): was expecting comma...

调试脚本时,提交接口传的参数是一串作答记录的json串(json串是fiddler抓包所得)运行时一直失败,提示json格式错误: 但是把传参的json串拿到JSON在线解析及格式化验证 - JSON.cn里是可以正常转义解析出来的,因为传参里有好几个地方做的参数化,所以一开始觉得可能是参数化的时候手抖破坏了格式,但是找了半天发现该有的{} () : , 都是正确的,后来找前端研发人员一起看,最终发现是\\\的问题! 可以看到参数里存在很多\\\,将\\\替换成\后就可以成功运行了! 正常..

wangxiaohua_1的博客 3948

java开发错误JsonParseException: Unexpected character ('?' (code 255)): was expecting comma to separate

在java后端的开发中,我们会经常遇到一个错误就是:JsonParseException: Unexpected character (’?’ (code 255)): was expecting comma to separate OBJECT entries, 当我们遇到这错误后别担心,去看看请求参数格式和符号是否正确,一般这个错误是由于请求参数的json格式错误引起的。比如一个英文",“写成...

xiaoxing91094947的博客 4万+

一文详解Unexpected character (‘“‘ (code 34)): was expecting comma to separate Object entries的问题

一文详解Unexpected character ('"' (code 34)): was expecting comma to separate Object entries的问题

念兮为美 5108

JackSon详解

Spring MVC 默认采用Jackson解析Json,尽管还有一些其它同样优秀的json解析工具,例如Fast Json、GSON,但是出于最小依赖的考虑,也许Json解析第一选择就应该是Jackson。

大米饭 6417
上一篇: jstree详解(解决jstree树的sort和move_node和drop drag一起使用时不能排序的问题)(附源码)
下一篇: spring3.0异常处理进阶
西兹兹
博客等级 码龄22年 21粉丝 34原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值