json类型的数据格式是怎样的,如何手动把对象或集合转成json类型的字符串?(简答题),配置json类型转换又是怎样的?
时间: 2024-02-22 22:59:02 浏览: 142
Json(JavaScript Object Notation)是一种轻量级的数据交换格式,具有易读易写、轻量级等特点。它的数据格式是键值对的集合,可以包含对象、数组等复杂数据类型。
手动将对象或集合转换成Json字符串,可以使用Json库提供的方法,例如在Java中可以使用Gson库的toJson()方法,将对象或集合转换成Json格式的字符串。
示例代码:
```java
// 将对象转成Json字符串
Person person = new Person("张三", 20);
String jsonStr = new Gson().toJson(person);
// 将集合转成Json字符串
List<Person> personList = new ArrayList<>();
personList.add(new Person("张三", 20));
personList.add(new Person("李四", 21));
String jsonStr = new Gson().toJson(personList);
```
配置Json类型转换,可以根据具体的框架进行配置。例如在Spring框架中,可以通过配置Jackson库的ObjectMapper来实现Json类型的转换。
示例配置:
```xml
<bean id="jacksonObjectMapper" class="org.springframework.http.converter.json.Jackson2ObjectMapperFactoryBean">
<property name="featuresToEnable">
<array>
<util:constant static-field="com.fasterxml.jackson.databind.SerializationFeature.WRITE_DATES_AS_TIMESTAMPS" />
</array>
</property>
</bean>
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">
<property name="messageConverters">
<list>
<bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
<property name="objectMapper" ref="jacksonObjectMapper" />
</bean>
</list>
</property>
</bean>
```
以上示例代码中,使用Jackson库的ObjectMapper将Java对象转换成Json格式的字符串,通过Spring框架的配置,将Json类型转换器配置到RequestMappingHandlerAdapter中,使得Spring MVC可以自动将请求和响应中的Json数据转换成Java对象。
阅读全文