SpringMVC之JSON数据处理

版权声明:本文为博主原创文章,转载请注明出处! https://blog.csdn.net/sinat_34104446/article/details/83051549

目录

一、JSON数据处理

1.JSON、JSON-lib、jackson区别

2.JSON-lib基本使用

3.jackson基本使用

3.1 jackson基本简介

3.2 jackson基本使用


一、JSON数据处理

1.JSON、JSON-lib、jackson区别

1.JSON是一种数据格式,使用{"key": "value"}/{"key": value},用于数据传输

var json = {"name":"SpringMVC","age":6,"funny":true}

2.JSON-lib是一个Java类库(官网:http://json-lib.sourceforge.net) 可以实现如下功能

  • 转换 javabeans, maps, collections, java arrays 和 XML 成为 json 格式数据
  • 转换 json 格式数据成为 javabeans 对象
  • JSON-lib需要的jar包
    • commons-beanutils-1.8.3.jar
    • commons-collections-3.2.1.jar
    • commons-lang-2.6.jar
    • commons-logging-1.1.1.jar
    • ezmorph-1.0.6.jar
    • json-lib-2.4-jdk15.jar
  • Maven中配置JSON-lib的时候需要注意,需要指定JDK版本,否则将会出错
<!-- https://mvnrepository.com/artifact/org.kohsuke.stapler/json-lib -->
<dependency>
    <groupId>org.kohsuke.stapler</groupId>
    <artifactId>json-lib</artifactId>
    <version>2.1</version>
    <classifier>jdk15</classifier>
</dependency>

2.JSON-lib基本使用

1.将对象转为JSON数据格式

3.jackson基本使用

3.1 jackson基本简介

1.Jackson是一个Java用来处理JSON格式数据的类库,性能非常好

  • Jackson可以轻松的将Java对象转换成json对象和xml文档,同样也可以将json、xml转换成Java对象
  • Jackson社区相对比较活跃,更新速度也比较快,有更好的发展空间
  • 相比json-lib框架,Jackson所依赖的jar包较少,只需要三个核心包就能使用,简单易用且性能相对高
    • jackson-annotations-2.1.1.jar
    • jackson-core-2.1.1.jar
    • jackson-databind-2.1.1.jar

2.jackson在SpringMVC中可以自动将对象转为json格式字符串

3.2 jackson基本使用

1.导入jar包如下

<project xmlns="http://maven.apache.org/POM/4.0.0"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<groupId>com.codecoord</groupId>
	<artifactId>SpringMVC</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<packaging>war</packaging>

	<dependencies>
		<!-- 加载SpringMVC依赖 -->
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-webmvc</artifactId>
			<version>5.0.9.RELEASE</version>
		</dependency>
		
		<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind -->
		<dependency>
		    <groupId>com.fasterxml.jackson.core</groupId>
		    <artifactId>jackson-databind</artifactId>
		    <version>2.9.1</version>
		</dependency>
	</dependencies>
</project>

2.在SpringMVC配置文件中开启组件扫描和注解扫描

3.在控制器中的的不同位置指定注解代表不同含义

  • @RestController将所有方法返回作为JSON数据,不经过视图处理器
  • @ResponseBody指定单个方法返回值作为json,不经过视图处理器
  • 会自动将Person对象转为json字符串,示例


4.@RestController <=> @Controller+每个方法@ResponseBody
5.@ResponseBody注解位置不同则意义不同

  • 方法上或返回值前:将对象转为JSON字符串返回
  • 在方法参数的对象类型之前:将对象转为JSON字符串传入

猜你喜欢

转载自blog.csdn.net/sinat_34104446/article/details/83051549