SpringMVC——使用Json向前端传输数据

一、什么是Json
1 . 简介:JSON与XML非常相似,都是用来存储数据的,并且都是基于纯文本的数据格式。与XML相比,JSON解析速度更快,占用空间更小,且易于阅读和编写,同时也易于机器解析和生成。
2 . Json的两种数据结构
对象结构:在对象结构以“{”开始,以“}”结束。中间部分由0个或多个以英文“,”分隔的name:value对构成。例如:一个address对象包含城市、街道、邮编等信息,使用JSON的表示为: {“city”:”Beijing”,”street”:”Xisanqi”,”postcode”:100096}
数组结构:例如,一个数组包含了String、Number、Boolean、null类型数据,使用JSON的表为:[“abc”,12345,false,null]
也可以用对象结构和数组结构组成更复杂的数据结构:
{
“name”: “zhangsan”
“hobby”:[“篮球”,”羽毛球”,”游泳”]
“address”:{
“city”:”Beijing”
“street”:”Xisanqi”
“postcode”:100096
}
}
二、Json编程实例:
1 . 声明:
实验环境:IntelliJ IDEA 2017.2.3 x64,gradle-3.3,apache-tomcat-8.0.44,Navicat for MySQL
本实验在原有SpringMVC的项目上进行完善。
2 . 在bulid.gradle中添加Json依赖包

    //json依赖包
    compile group: 'com.alibaba', name: 'fastjson', version: '1.2.47'
    compile group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: '2.9.5'
    compile group: 'com.fasterxml.jackson.core', name: 'jackson-core', version: '2.9.5'
    compile group: 'com.fasterxml.jackson.core', name: 'jackson-annotations', version: '2.9.5'
    //jstl依赖包
    compile group: 'javax.servlet.jsp.jstl', name: 'jstl', version: '1.2'

3 . 在SpringMVC的配置文件中添加下面的bean

    <!--注解驱动器-->
    <mvc:annotation-driven>
        <!--消息转化器-->
        <mvc:message-converters>
            <!--配置以下bean,解决json数据传输中中文乱码的问题-->
            <bean class="org.springframework.http.converter.StringHttpMessageConverter">
                <property name="supportedMediaTypes">
                    <list>
                        <value>application/json;charset=UTF-8</value>
                        <value>text/html;charset=UTF-8</value>
                    </list>
                </property>
            </bean>
            <!--json数据转换-->
            <bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
            </bean>
        </mvc:message-converters>
    </mvc:annotation-driven>

4 . 在控制类中创建方法的访问路径

    @RequestMapping("/findOneById")
    @ResponseBody
    public String findOneById() throws SQLException {
        Map map=new HashMap();
        map.put("data","放入想要传送的数据");
        //利用JSON.toJSONString()方法自动拼接字符串
        return JSON.toJSONString(map);
    }

5 . 在浏览器中输入localhost:8080/findOneById 访问方法

猜你喜欢

转载自blog.csdn.net/wu_lie_xin/article/details/81774983