范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

SpringMVCJSON数据交互

  Spring MVC 在数据绑定的过程中需要对传递数据的格式和类型进行转换,它既可以转换 String 等类型的数据,也可以转换 JSON 等其他类型的数据。本节将针对 Spring MVC 中 JSON 类型的数据交互进行讲解。  JSON 概述
  JSON(JavaScript Object Notation, JS 对象标记)是一种轻量级的数据交换格式。与 XML 一样,JSON 也是基于纯文本的数据格式。它有对象结构和数组结构两种数据结构。
  1)对象结构
  对象结构以{开始、以}结束,中间部分由 0 个或多个以英文,分隔的 key/value 对构成,key 和 value 之间以英文:分隔。对象结构的语法结构如下:{     key1:value1,     key2:value2,     ... }12345复制代码类型:[java]
  其中,key 必须为 String 类型,value 可以是 String、Number、Object、Array 等数据类型。例如,一个 person 对象包含姓名、密码、年龄等信息,使用 JSON 的表示形式如下:{     "pname":"张三",     "password":"123456",     "page":40 }12345复制代码类型:[java]
  2)数组结构
  数组结构以[开始、以]结束,中间部分由 0 个或多个以英文,分隔的值的列表组成。数组结构的语法结构如下:{     value1,     value2,     ... }12345复制代码类型:[java]
  上述两种(对象、数组)数据结构也可以分别组合构成更加复杂的数据结构。例如,一个 student 对象包含 sno、sname、hobby 和 college 对象,其 JSON 的表示形式如下:{     "sno":"201802228888",     "sname":"张三",     "hobby":["篮球","足球"],     "college":{         "cname":"清华大学",         "city":"北京"     } }123456789复制代码类型:[java]JSON 数据转换
  为实现浏览器与控制器类之间的 JSON 数据交互,Spring MVC 提供了 MappingJackson2HttpMessageConverter 实现类默认处理 JSON 格式请求响应。该实现类利用 Jackson 开源包读写 JSON 数据,将 Java 对象转换为 JSON 对象和 XML 文档,同时也可以将 JSON 对象和 XML 文档转换为 Java 对象。
  在使用注解开发时需要用到两个重要的 JSON 格式转换注解,分别是 @RequestBody 和 @ResponseBody。
  @RequestBody:用于将请求体中的数据绑定到方法的形参中,该注解应用在方法的形参上。
  @ResponseBody:用于直接返回 return 对象,该注解应用在方法上。
  需要注意的是,在该处理方法上,除了通过 @RequestMapping 指定请求的 URL,还有一个 @ResponseBody 注解。该注解的作用是将标注该注解的处理方法的返回结果直接写入 HTTP Response Body(Response 对象的 body 数据区)中。一般情况下,@ResponseBody 都会在异步获取数据时使用,被其标注的处理方法返回的数据都将输出到响应流中,客户端获取并显示数据。  各个JSON技术比较
  早期 JSON 的组装和解析都是通过手动编写代码来实现的,这种方式效率不高,所以后来有许多的关于组装和解析 JSON 格式信息的工具类出现,如 json-lib、Jackson、Gson 和 FastJson 等,可以解决 JSON 交互的开发效率。
  1)json-lib
  json-lib 最早也是应用广泛的 JSON 解析工具,缺点是依赖很多的第三方包,如 commons-beanutils.jar、commons-collections-3.2.jar、commons-lang-2.6.jar、commons-logging-1.1.1.jar、ezmorph-1.0.6.jar 等。
  对于复杂类型的转换,json-lib 在将 JSON 转换成 Bean 时还有缺陷,比如一个类里包含另一个类的 List 或者 Map 集合,json-lib 从 JSON 到 Bean 的转换就会出现问题。
  所以 json-lib 在功能和性能上面都不能满足现在互联网化的需求。
  2)开源的Jackson
  开源的 Jackson 是 Spring MVC 内置的 JSON 转换工具。相比 json-lib 框架,Jackson 所依赖 jar 文件较少,简单易用并且性能也要相对高些。并且 Jackson 社区相对比较活跃,更新速度也比较快。
  但是 Jackson 对于复杂类型的 JSON 转换 Bean 会出现问题,一些集合 Map、List 的转换出现问题。而 Jackson 对于复杂类型的 Bean 转换 JSON,转换的 JSON 格式不是标准的 JSON 格式。
  3)Google的Gson
  Gson 是目前功能最全的 JSON 解析神器,Gson 当初是应 Google 公司内部需求由 Google 自行研发。自从在 2008 年 5 月公开发布第一版后,Gson 就已经被许多公司或用户应用。
  Gson 主要提供了 toJson 与 fromJson 两个转换函数,不需要依赖其它的 jar 文件,就能直接在 JDK 上运行。在使用这两个函数转换之前,需要先创建好对象的类型以及其成员才能成功的将 JSON 字符串转换为相对应的对象。
  类里面只要有 get 和 set 方法,Gson 完全可以将复杂类型的 JSON 到 Bean 或 Bean 到 JSON 的转换,是 JSON 解析的神器。Gson 在功能上面无可挑剔,但性能比 FastJson 有所差距。
  4)阿里巴巴的FastJson
  FastJson 是用 Java 语言编写的高性能 JSON 处理器,由阿里巴巴公司开发。
  FastJson 不需要依赖其它的 jar 文件,就能直接在 JDK 上运行。
  FastJson 在复杂类型的 Bean 转换 JSON 上会出现一些问题,可能会出现引用的类型,导致 JSON 转换出错,需要制定引用。
  FastJson 采用独创的算法,将 parse 的速度提升到极致,超过所有 JSON 库。
  综上 4 种 JSON 技术的比较,在项目选型的时候可以使用 Google 的 Gson 和阿里巴巴的 FastJson 两种并行使用,如果只是功能要求,没有性能要求,可以使用Google 的 Gson。如果有性能上面的要求可以使用 Gson 将 Bean 转换 JSON 确保数据的正确,使用 FastJson 将 JSON 转换 Bean。
  开课吧广场-人才学习交流平台

小米与Sisvel达成和解,结束两年的专利诉讼纠纷6月30日,知识产权权威媒体IAM披露,小米公司已经与Sisvel达成和解协议。此举意味着两家公司将结束长达两年的专利诉讼纠纷。Sisvel自2019年起,就对包括小米OPPO在内一场必将打到最高院的专利诉讼敏芯vs歌尔再次开厮作者黄莺张一元6月15日,敏芯股份发布公告,对与歌尔一起诉讼的一审判决结果进行说明。山东青岛中级人民法院在一审中判决敏芯败诉,判决指出其侵犯歌尔的ZL20122026527。1号名啊哈!算法一本能看懂的算法书算法在一般人眼中都是很难而且枯燥的形象,这本啊哈!算法用通俗易懂的语言,配合有趣的插图让你在阅读本书的时候更像是在品读一篇篇轻松的短篇小说或是在玩一把题味解谜游戏,在轻松愉悦中掌握嘀嗒出行上市期间遭遇专利纠纷在滴滴出行低调赴美上市遭遇重罚的同时,中国网约车的二把手巨头嘀嗒出行的上市进程也一直在紧锣密鼓的进行。去年10月,嘀嗒出行向港交所递交IPO申请,半年后招股书失效,5天后提交了新版利仁电饼铛打败了小熊和面机作者黄莺近日,国家知识产权局先后公布了两起针对小熊电器和面机专利的复审决定,结果显示,小熊电器拥有的一项实用新型专利ZL201120538050。7(一种和面醒面机)和一项发明专利吹爆这些海报!来一场视觉盛宴吧必胜天堂(2019)豆瓣评分7。6海洋(2009)豆瓣评分9。1爱乐之城(2016)豆瓣评分8。4忠犬八公的故事(2009)豆瓣评分9。4绿皮书(2018)豆瓣评分8。9英国病人(一文解读魅族18系列20212009年魅族M8魅族182021来袭,据悉售价为560欧元起,折算人民币为4799元?魅族在2009年发布第一款M8手机,在诺基亚霸占整个手机市场的格局下,同时三星和苹果等手机的3年建设100行业标杆,拥挤的中台提前进入生态战?中国软件网自阿里巴巴2015年正式推出中台战略以来,中台逐渐成为人们心目中企业数字化转型升级的核心,有点像企业数字化的指挥塔,也有点像企业数字化的能力积淀箱,不但受到资本的青睐,也受到用户的揭秘良品铺子双115。6亿背后的技术力量徙闻导读助力品牌制胜双十一的背后,是云徙基于中台架构的智能营销逻辑。每逢双十一时节,品牌的种草之心被推到顶峰。在密集的信息交汇中,消费者希望获取有价值的消费决策,品牌则希望被广泛看见被3。5亿,燃起了中台之火雷锋网几乎所有人都承认,2018年,中台太火了,2019年,这种火持续延续,即使在所谓的资本寒冬中,中台企业也照样能够融到钱。在今年10月中旬,云徙科技顺利获得了3。5亿元融资,B轮,资数字时代,正荣服务再升级案例伴随着房地产行业下半场到来,以客户为中心是企业战略发展的必然之路,站在客户角度,围绕客户生活场景,通过技术洞察消费者的需求,以提供更好的人居体验。把握趋势才能赢得未来。正荣地产客户
处理数据要有全流程合规意识近日,一科技公司利用爬虫技术窃取2。1亿条简历数据,被告人被追究刑事责任的新闻引发了社会的广泛关注。据媒体报道,该科技公司主要经营招聘工具软件和大数据分析等业务,组建有专门的爬虫技脉脉点评,难入招聘文新摘商业评论,作者葡萄职场点评,是脉脉商业化转型的蜜糖还是砒霜?近期,脉脉在2022春招季公布了新的商业路线做职场的大众点评。简单理解,就是以点评内容榜单聚合职位的方式,帮助求职QQ音乐免费听歌怎么弄?你知道吗也许以后在QQ音乐听歌再也不用花钱开会员了,前不久,QQ音乐内测了一个新功能叫免费听歌模式,简单来说就是不用开会员不用买付费包,只要看15秒广告就能免费听歌30分钟,对很多马斯克指控SEC泄露联邦调查信息来源盖世汽车谭璇据外媒报道,特斯拉首席执行官埃隆马斯克通过他的律师指控美国证券交易委员会(SEC)泄露联邦调查的信息,称这是报复他公开批评SEC的行为。2月21日,马斯克的律师Al一边裁员一边招新,2022年春招到底是不是薛定谔?图片来源视觉中国文丨数科社,作者丨柠溪互联网行业引力场逐渐失效下,还有哪些赛道值得被期待?又是一年春招季。金三银四本该是各家企业围猎应届生的最佳之际,然而从目前市场中的整体情况来看趋势观察第五代精简指令集RISC架构芯片研究进展中国网中国发展门户网讯RISCV,即第五代精简指令集,是一种基于精简指令集计算机(RISC)原理的开源指令集架构(ISA),由美国加州大学伯克利分校研究团队于2010年设计。相对于时隔多年,iPhone6S在不玩游戏的情况下,用起来还是那么流畅首先来简单了解一下,这台iPhone6S它本身就拥有一块能感知压力的3DTouch屏幕,搭载着A9处理器,前置摄像头是500万像素,后置摄像头是1200万像素。系统已刷到ios15乌克兰占全球氖气产量七成!美光CEO目前库存充足有多个供应源财联社(上海,编辑潇湘)讯,美国最大的电脑存储芯片制造商美光科技公司周二表示,眼下日益严峻的乌克兰危机正进一步凸显出半导体供应链的复杂性和脆弱性。在芯片生产过程中,有一部分看似不起美国损失一员大将,微软首位华人副总裁回国,加入清华为国育才听说沈向洋老师要在清华任职双聘教授了,一位清华计算机系学生激动地说道。真的吗?那可真是太好了同学们都高兴地欢呼起来。说到沈向洋很多不熟悉计算机的人并不是很了解他,实际上沈向洋算得上奇安信电幕行动后门已侵害全球45个国家和地区2月23日,北京奇安盘古实验室科技有限公司发布报告,披露了后门电幕行动(Bvp47)的完整技术细节和攻击组织关联。这是由超一流黑客组织方程式所制造的顶级后门,用于入侵后窥视并控制受苹果3月8日,即将召开春季发布会,3款产品出现成定局苹果官方已经宣布,自己将会在今年的3月8号举办春季发布会,很多果粉相比也非常的期待。就从之前多方面曝光出来的信息去看,iPhoneSE3以及iPadAir5将会是全场的焦点,至于这