json类型的数据格式是怎样的,如何手动把对象或集合转成json类型的字符串?,配置json类型转换又是怎样的?
时间: 2024-02-24 16:57:26 浏览: 87
json格式数据转换
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式。它是基于JavaScript语法的子集,可以表示数字、字符串、布尔值、数组、对象等类型的数据。JSON格式的数据通常用于Web应用程序之间的数据交换。
手动将对象或集合转换成JSON格式的字符串,可以使用如下代码:
```java
import com.alibaba.fastjson.JSON;
// 对象转换成JSON字符串
Person person = new Person("张三", 20);
String jsonStr = JSON.toJSONString(person);
// 集合转换成JSON字符串
List<Person> personList = new ArrayList<>();
personList.add(new Person("张三", 20));
personList.add(new Person("李四", 22));
String jsonStr2 = JSON.toJSONString(personList);
```
其中,Person是一个自定义的JavaBean类。
配置Spring MVC的JSON类型转换,可以使用如下配置:
1. 引入fastjson依赖
```xml
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.47</version>
</dependency>
```
2. 配置Spring MVC的MessageConverter
```xml
<mvc:annotation-driven>
<mvc:message-converters>
<bean class="org.springframework.http.converter.StringHttpMessageConverter">
<property name="supportedMediaTypes">
<list>
<value>text/plain;charset=UTF-8</value>
<value>text/html;charset=UTF-8</value>
<value>application/json;charset=UTF-8</value>
</list>
</property>
</bean>
<bean class="com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter">
<property name="supportedMediaTypes">
<list>
<value>application/json;charset=UTF-8</value>
</list>
</property>
</bean>
</mvc:message-converters>
</mvc:annotation-driven>
```
3. 在Controller中使用@ResponseBody注解
```java
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class TestController {
@RequestMapping("/test")
@ResponseBody
public Person test() {
Person person = new Person("张三", 20);
return person;
}
}
```
这样,当访问/test接口时,返回的数据就会自动转换成JSON格式。
阅读全文