⼀⽂搞懂JSON和
⽂章⽬录
JSON
JSON(JavaScript Object Notation,JS对象标记)是⼀种轻量级的数据交换格式。它是基于JavaScript的⼀个⼦集,使⽤了C、C++、C#、Java、JavaScript、Perl、Python等其他语⾔的约定,采⽤完全独⽴于编程语⾔的⽂本格式来存储和表⽰数据。
JSON的特点
JSON与XML⾮常相似,都是⽤来存储数据的,并且都是基于纯⽂本的数据格式。与XML相⽐,JSON解析速度更快,占⽤空间更⼩,且易于阅读和编写,同时也易于机器解析和⽣成。
JSON的两种数据结构
1.对象结构
在对象结构以“{”开始,以“}”结束。中间部分由0个或多个以英⽂“,”分隔的name:value对构成(注意name和value之间以英
z型钢大小头什么意思⽂“:”分隔),其存储形式如下图所⽰。
JSON对象数据结构的关键字(key)必须为String类型,值(value)可以是String、Number、Object、Array等数据类型。孙侨潞倒地视频
linux文件列表命令
例如:{“city”:“Beijing”,“street”:“Xisanqi”,“postcode”:100096}
2.数组结构
数组结构以“[”开始,以“]”结束。中间部分由0个或多个以英⽂“,”分隔的值的列表组成,其存储形式如下图所⽰。
例如:[“abc”,12345,false,null]
对象、数组数据结构也可以分别组合构成更为复杂的数据结构。
如果使⽤JSON存储单个数据(如“abc”),⼀定要使⽤数组的形式,不要使⽤Object形式,因为Object形式必须是“名称:值”的形式。
JSON数据转换如何进行调查?
Spring提供了⼀个HttpMessageConverter<T>接⼝来实现浏览器与控制器类(Controller)之间的数据交互。该接⼝主要⽤于将请求信息中的数据转换为⼀个类型为T的对象,并将类型为T的对象绑定到请求⽅法的参数中,或者将对象转换为响应信息传递给浏览器显⽰。
在配置JSON转换器时,除了常⽤的<mvc:annotation-drivern />⽅式配置外,还可以使⽤<bean>标签的⽅式进⾏显⽰的配置。具体配置⽅式如下:access怎么创建学生表
MappingJackson2HttpMessageConverter是Spring MVC默认处理JSON格式请求响应的实现类。要使⽤它对数据进⾏转换,就需要使⽤Jackson的开源包,开发时所需的开源包及其描述如下所⽰:
jackson-annoations-2.8.8.jar:JSON转换注解包;
jackson-core-2.8.8.jar:JSON转换核⼼包;
jackson-databind-2.8.8.jar:JSON转换的数据绑定包。
在使⽤注解式开发时,需要⽤到2个重要的JSON格式转换注解,分别为@RequestBody和@ResponseBody
RESTful
RESTful也称之为REST,是英⽂“Representational State Transfer”的简称。可以将他理解为⼀种软件架构风格或设计风格,⽽不是⼀个标准。
python请求并解析json数据RESTful风格在HTTP请求中,使⽤put、delete、post和get⽅式分别对应添加、删除、修改和查询的操作。
Spring MVC中的(Interceptor)类似于Servlet中的过滤器(Filter),它主要⽤于拦截⽤户请求并作相应的处理。例如通过可以进⾏权限验证、记录请求信息的⽇志、判断⽤户是否登录等。
类的两种定义⽅式
1.通过实现HandlerInterceptor接⼝,或继承HandlerInterceptor接⼝的实现类(如HandlerInterceptorAdapter)来定义。
2.通过实现WebRequestInterceptor接⼝,或继承WebRequestInterceptor接⼝的实现类来定义。
HandlerInterceptor的三个⽅法
preHandle():该⽅法会在控制器⽅法前执⾏,其返回值表⽰是否中断后续操作。当其返回值为true时,表⽰继续向下执⾏;当其返回值为false时,会中断后续的所有操作。
postHandle():该⽅法会在控制器⽅法调⽤之后,且解析视图之前执⾏。可以通过此⽅法对请求域中的模型和视图做出进⼀步的修改。afterCompletion():该⽅法会在整个请求完成,即视图渲染结束之后执⾏。可以通过此⽅法实现⼀些资源清理、记录⽇志信息等⼯作。
继承WebRequestInterceptor可以定义Spring MVC中的。
的配置
要使⾃定义的类⽣效,还需要在Spring MVC的配置⽂件中进⾏配置。
注意:<mvc:interceptor>中的⼦元素必须按照上述代码的配置顺序进⾏编写,否则⽂件会报错。单个的执⾏流程
多个的执⾏流程
这⾥给出⼀个的典型应⽤场景:

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。