C# json解析字符串总是多出双引号_SSM框架中JSON数据交互实现页面显示图书种类...

2acc97be-0a2a-eb11-8da9-e4434bdf6706.svg

点击蓝字关注我们

2dcc97be-0a2a-eb11-8da9-e4434bdf6706.svg

SSM框架中JSON数据交互实现页面显示图书种类

一、任务简介

SSM框架整合开发中,用Jackson实现在JSP页面解析Controller返回的JSON格式的图书种类信息,显示结果如下图所示:

b2f1f86bfe980a924761c37a7544a301.png

二、任务分析

用SSM框架实现在访问NewFile.jsp页面时,向Controller发送一个请求,用MyBatis实现从数据库中获取图书种类的信息,Spring框架实现实例化Bean、AOP以及事务管理等,Spring MVC负责根据前台请求执行查询方法,返回JSON格式的数据,在NewFile.jsp中解析并显示JSON数据。

MyBatis访问数据库获得种类信息,基于注解的方式的方式映射SQL语句。

三、支撑知识点

JSON(JavaScript Object Notation,JS对象标记)是一种轻量级的数据交换格式。它是基于JavaScript的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。JSON和XML都可以实现只关注数据内容,忽略数据类型,XML中存放每个数据都需要开始标签和结束标签,JSON比XML更小、更快、更易阅读和解析。

1.JSON

(1)JSON中有6种数据类型:

string:字符串,必须要用双引号引起来。

number:数值,与JavaScript的number一致,整数(不使用小数点或指数计数法)最多为 15 位,小数的最大位数是 17。

object:JavaScript的对象形式,{ key:value }表示方式,可嵌套,key必须是字符串,value可以是JSON中合法的数据。

array:数组,JavaScript的Array表示方式[ value1,…,valueN ],可嵌套。

true/false:布尔类型,JavaScript的boolean类型。

null:空值,JavaScript的null。

(2)JSON对象

JSON对象用花括号“{}”括起来,每一个元素都是由key:value组成,其中key为字符串,value可以是JSON中的任意一种类型的值,元素和元素之间用逗号分隔。

比如:

{ "firstName":"John","lastName":"Doe" }

(3)JSON数组

JSON数组用方括号“[]”括起来,数组元素之间用英文状态的逗号“,”分隔。JSON数组元素可以是常量,也可以是对象。

2.Jackson简介

Jackson 是一个能够将java对象序列化为JSON字符串,也能够将JSON字符串反序列化为java对象的框架。使用Jackson要用到下列三个Jar包:

  1. jackson-annoations-2.8.8.jar:JSON转换注解包;

  2. jackson-core-2.8.8.jar:JSON转换核心包;

  3. jackson-databind-2.8.8.jar:JSON转换的数据绑定包。

3.用注解方式实现JSON数据交互

用注解方式实现JSON数据交互,需要用到@RequestBody和@ResponseBody。@RequestBody用于将请求的数据绑定到方法形参中,@ResponseBody标注在Controller的方法上,@ResponseBody 表示该方法的返回结果直接写入 HTTP response body 中,一般在异步获取数据时使用。

注意:一般Controller类的方法返回String,一旦加上@ResponseBody,方法不再返回String,而是返回JSON数据。

4.SpringMVC中静态资源的访问

Spring MVC中前端控制器配置时,默认拦截所有请求,包括静态资源,这样就会在页面中找不到静态资源。因此,需要在程序中配置静态资源的访问映射,通常用三种方法:

方法1:在SpringMVC配置文件中用配置

10558701f5f6831bf8d94a2c7c2ea536.png

方法2:在SpringMVC配置文件中配置

78077e8a6a72ef4d7828e46e2c2f38bd.png

方法3:在web.xml中配置

87a62e33b56526bdcd5f2c36f804be87.png

四、任务实施

第一步:打开以后的动态Web项目chap12,并导入Jackson的三个Jar包。

本文详细介绍后端控制器CagtegoryController的写法、NewFile.jsp的写法和springmvc-config.xml的配置中配置静态资源。其他类和文件的写法,参看程序员训练营公众号文章:《用SSM框架实现在页面显示图书种类》

第二步:修改CagtegoryController类,核心代码如下:

CagtegoryController类中增加一个方法,实现将图书种类列表以JSON格式返回,核心代码如下:

61d6bc9de87ecd8693799c478a8874a1.png

第三步:在项目WebContent下新建文件夹js,将jquery-1.11.3.min.js放入文件夹。

第四步:在SpringMVC配置文件中配置静态资源映射。

配置静态资源映射常用的方法有三种,常用的是第一种,代码如下:

423197a8ec3e37599e14a149b9ded280.png

第五步:编写NewFile.jsp页面,通过Ajax访问Controller请求,并解析JSON数据。

CategroiesMapper接口包含方法public ListlistCategories();,该方法实现查询所有图书种类信息。通过@Select注解配置SQL语句映射,示例代码如下:

32d4a16d700ac342fab0c1d8251b71ad.png

第六步:启动Web服务器,运行并测试结果

选中项目,右键,Run as->Run on Server,将Web项目发布到Tomcat服务器,运行并测试结果如下图所示:

20db3b0d1b5e0997474c70455d79d01c.png

✬欢迎关注程序员训练营公众号✬

✬分享朋友圈,邀请更多小伙伴一起学习或投稿吧~☺

b94b3f71961b6a5cabcc128393107312.png

编辑 | 程序员训练营

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值