Spring MVC JSON数据交互(附带实例)

  • 内容
  • 评论
  • 相关

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,
    ...
}

其中,key 必须为 String 类型,value 可以是 String、Number、Object、Array 等数据类型。例如,一个 person 对象包含姓名、密码、年龄等信息,使用 JSON 的表示形式如下:

{
    "pname":"张三",
    "password":"123456",
    "page":40
}

2)数组结构

数组结构以“[”开始、以“]”结束,中间部分由 0 个或多个以英文“,”分隔的值的列表组成。数组结构的语法结构如下:

{
    value1,
    value2,
    ...
}

上述两种(对象、数组)数据结构也可以分别组合构成更加复杂的数据结构。例如,一个 student 对象包含 sno、sname、hobby 和 college 对象,其 JSON 的表示形式如下:

{
    "sno":"201802228888",
    "sname":"张三",
    "hobby":["篮球","足球"],
    "college":{
        "cname":"清华大学",
        "city":"北京"
    }
}

JSON 数据转换

为实现浏览器与控制器类之间的 JSON 数据交互,Spring MVC 提供了 MappingJackson2HttpMessageConverter 实现类默认处理 JSON 格式请求响应。该实现类利用 Jackson 开源包读写 JSON 数据,将 Java 对象转换为 JSON 对象和 XML 文档,同时也可以将 JSON 对象和 XML 文档转换为 Java 对象。

在使用注解开发时需要用到两个重要的 JSON 格式转换注解,分别是 @RequestBody 和 @ResponseBody。

  • @RequestBody:用于将请求体中的数据绑定到方法的形参中,该注解应用在方法的形参上。
  • @ResponseBody:用于直接返回 return 对象,该注解应用在方法上。

下面通过一个案例来演示如何进行 JSON 数据交互,具体步骤如下。

1)创建应用并导入相关 JAR 包

创建 springMVCDemo05 应用,然后将 Spring MVC 的相关 JAR 包、JSON 转换包添加到 springMVCDemo05 的 lib 目录下。springMVCDemo05 的 lib 目录如图 1 所示。

springMVCDemo05的相关JAR包
图 1  springMVCDemo05的相关JAR包

本文标题:Spring MVC JSON数据交互(附带实例)

本文地址:http://www.hosteonscn.com/5944.html

评论

0条评论

发表评论

邮箱地址不会被公开。 必填项已用*标注