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

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。
  开课吧广场-人才学习交流平台

小米生态链推2K可视门铃,叮零智能视频门铃E3进驻天猫超级品类日互联网时代,家庭安防形势日趋严峻,为了防止假冒快递员假冒外卖小哥陌生人标记等危险因素,可视门铃成了捍卫家庭安全的第一道防火墙。市面上的可视门铃品类五花八门,弊端有可视角度小画质不清家用中央空调哪个牌子好?海尔家用中央空调无锡用户张先生评价在我们的房子装修前的,家里人就决定来一块中央空调,但是由于空调品牌太多,我们也拿不定主意买什么牌子,所以我问了一下,我非常要好的朋友,他给我推荐了小米应用商店移除32位包必传限制,开发者可自主决定上传apk类型IT之家1月13日消息,今日,小米应用商店公布了开发者站传包优化措施,移除32位包体必传限制,开发者可根据自身实际情况自主决定上传apk类型。不过,官方建议上传32位64位双包,以智能自动化(IA)助力数字商业,打造业务新战略智能自动化(IA)可以帮助企业聚焦于降低成本提高流程速度优化决策结果提高流程弹性以及提升质量和合规性等业务细节。利用IA可实现繁琐和重复工作任务的自动化,例如生成发票等工作。那么,新版应用程序信息服务管理规定公开征求意见APP不得违规刷单控评来源中国消费者报足不出户,日赚千元,动动手指就能轻松赚钱,工资日结,绝不拖欠这样的广告语显示,刷单已经成为一条灰色产业链。如今,不仅有人工刷单,利用信息技术通过机器刷单的行为更是屡京东年货节已经来临,还不知道怎么入驻京东吗2022年京东年货节是京东年度大型活动之一。年货节将重点结合消费者需求进行策略布局,强化办年货送年礼春节送货三大心智。活动涵盖了新春年货礼品礼盒地域好物等多种商品类型并结合POP生遇到这种微信号,千万别转账!通过手机进行支付交易如今已是相当普遍但各类骗局也往往暗藏其中比如像这样的聊天记录就让人极为绝望付完款,催发货时,你发现,你已被拉黑卖家人间蒸发,只剩下可怜的你钱货两空。出现风险提醒富满微国产5G芯片已经量产交付华为5G射频芯片有望解决了富满微作为我国的一家从事高性能模拟及数模混合集成电路设计研发封装测试和销售的国家级高新技术企业,从来都是低调行事,最近富满微表示我们的5G系列射频前端芯片可以用在手机端,并且还和小高通沈劲XR是元宇宙的终端平台,用户体验已经大幅提升新京报贝壳财经讯(记者许诺)1月13日,在高通创投媒体沟通会上,高通全球副总裁兼高通创投中国区董事总经理沈劲在回答记者关于元宇宙的提问时表示,高通相信,XR(拓展现实)是元宇宙的终日本专家力推新时代替身机器人用户卧床也可远程操作隔壁的日本早已经进入老年人时代,越来越多的老人腿脚不便甚至卧床不起,那么未来如何保障这些人群的基本生活呢?1月10日日媒采访了一位研究者,课题就是主推新时代替身机器人,用户因病卧床中船科技拟发行股份购买五家公司股权注入新能源行业资产停牌10个交易日后,中船科技(600072)的重大资产重组方案千呼万唤始出来,股票将于1月13日起复牌。注入新能源资产据公告,中船科技拟通过发行股份的方式购买交易对方持有的标的资产
手机摄影,你拍到过哪些好看的照片,可以分享一下么?我拍到好看的相片太多太多了,数都数不清,出去外面玩,我就爱拍,拍照片就是我的最爱,最喜欢拍花花草草。手机拍风光照片比单反相机要方便很多,看见就可以即时拍摄,而且画面很宽有大片感觉。网友2200元入手iPhoneXSMax,只有两个严重问题网上有很多低价iPhone,要么是骗子,要么就是手机有重大问题。比如今天这台iPhoneXSMax,网友仅用2200元就拿下了!关键还是国行版本,内存还是256GB。如果是一台正常年轻人的第一台OLED电视,小米电视新品发布,网友有点小贵很多朋友选购电视时,不知道该如何抉择,如何才能挑选一款画质出众的产品,成为困扰消费者的主要问题。因为智能手机的普及,人们使用电视的频率逐渐下降,但电视依旧是每个家庭必不可少的家电之荣耀50Pro全新配色荣耀密码2699元起荣耀8月30日,发布了荣耀50Pro全新配色,荣耀密码。荣耀50,6。57英寸OLED超曲屏。10。7亿色。120Hz屏幕刷新率,300Hz触控采样率。高通骁龙778G处理。320凑齐5台4。7寸的iPhone手机,实属不易,来波回忆杀在家里收拾百宝箱,居然发现3台4。7寸的iPhone4。7手机,分别是iPhone6iPhone6siPhone7,于是突发奇想,为何不把苹果到目前为止,所发布的这5台4。7寸的i买投影仪什么牌子好?IT控分享五大高性价比投影仪推荐最近收到很多小伙伴询问买投影仪什么牌子好?今天IT控老张又带来了一期干货满满的测评!从老张过去十年的IT数码玩机经验来看,投影仪在不同品牌不同类型之间体验确实存在差异,想要挑选一款谷歌发售新品手机Pixel5a,十年前的设计被称之为极为先进谷歌此前发布了一款中低端手机谷歌Pixel5a,售价449美元也就是相对于2900元的产品,并于8月28日开售,相比而言,这款手机配备了更大的电池,更大的屏幕以及防水性能,同时支持AppleWatch遥控手机技巧分享拍照找手机上期小编跟大家聊的话题是关于AppleWatch的个性化表盘设置,本期我们的主角依然是AppleWatch哦。但是在内容上主要围绕怎么遥控手机来聊,下面让我们一起来看一下吧1。遥控手机系统应用软件更新升级的那些事,你知道吗?大家好!今天来说一下手机系统以及应用软件更新升级的那些事,在网络信息高度发达的今天,手机成为了我们人手必备的,如今不带手机出门,感觉寸步难行。手机系统升级OTA升级方式是我们使用最除甲醛除异味多项全能!Taotronics空气净化器上手简记对于很多人来讲,不管是入住新家还是日常生活,好的居家环境都是必须的。尤其是新家或者家里有呼吸敏感者,对于良好的家庭环境要求就变成了刚需。搬入新房以后,我越来越觉得有一款净化器是很必马云收了河北慧眼医药科技公司如何运作的?中国第一个第三方网上药品交易资格证,没给京东,没给天猫,出人意料地,2013年11月12日,国家药监局将这个试点牌子给了河北一家名不见经传的医药公司河北慧眼医药科技有限公司9509