什么是JSON?
一、定义和使用规范
(1)定义
(2)规范
二、编程语言和JSON的转换关系(重要)
左边是JSON转其他编程语言,右边是编程语言转JSON
(1)JS和JSON之间的转换
也可以用这种方式将字符串转换成对象(注意: 一般JSON都是用双引号,外面一定要用单引号,内外的引号不能相同)
(2)转换的结果
①JSON字符串
②转换成JS对象(区别于JSON,是可以展开的)
三、JS和JSON的区别
对JSON的补充:
1、采用完全独立于编程语言的文本格式来存储和表示数据
2、简洁和清晰的层次结构使得JSON成为理想的数据交换语言
3、易于人阅读和编写,同时也易于机器解析和生成,并有效提升网络传输效率
JSON解析工具Jackson使用
一、使用这个工具首先要导包
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.14.2</version>
</dependency>
二、编写实体类
@Data
@AllArgsConstructor
@NoArgsConstructor
public class User {
private int id;
private String name;
private int age;
}
三、编写控制类
@Controller
public class UserController {
@RequestMapping("/test01")
@ResponseBody //这个注解作用就是标记这个方法不会走视图解析器,直接将最后的字符串进行返回,当然也可以在类上直接用@RestController,标记该类不走视图解析器
public String json01() throws JsonProcessingException {
//1、创建User对象
User user = new User(1,"张三",66);
//2、创建ObjectMapper对象,用来将值转化成字符串(常用)
ObjectMapper mapper = new ObjectMapper();
//3、调用writeValueAsString方法,将要转换的对象放进去即可
String str = mapper.writeValueAsString(user);
//2、直接将对象返回
return str;
}
}
就能实现将对象转化成json
四、优化,解决json乱码问题(死代码,拿来即用)
直接在springmvc-servlet.xml核心配置文件中配置即可
<!-- 配置annotation-driven,帮我们节省了配置处理器映射器HandlerMapping和处理器适配器HandlerAdapter-->
<mvc:annotation-driven>
<!-- 配置JSON解决乱码问题,死代码,以后直接用就行-->
<mvc:message-converters register-defaults="true">
<bean class="org.springframework.http.converter.StringHttpMessageConverter">
<constructor-arg value="UTF-8"/>
</bean>
<bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
<property name="objectMapper">
<bean class="org.springframework.http.converter.json.Jackson2ObjectMapperFactoryBean">
<property name="failOnEmptyBeans" value="false"/>
</bean>
</property>
</bean>
</mvc:message-converters>
</mvc:annotation-driven>
JSON解析工具fastJson使用
一、导包
<dependency>
<groupId>com.alibaba.fastjson2</groupId>
<artifactId>fastjson2</artifactId>
<version>2.0.24</version>
</dependency>
二、使用方法
@RequestMapping("/test02")
@ResponseBody
public String json02(){
List<User> userList = new ArrayList<>();
User user = new User(1,"颤三",2);
userList.add(user);
//将对象转化成JSON字符串
String s1 = JSON.toJSONString(user);
//将集合转化成字符串
String s2 = JSON.toJSONString(userList);
//将JSON解析成对象
User user1 = JSON.parseObject(s1, User.class);
//注意,这个解析工具里面有很多类似的方法,我们可以直接测试使用
}
至此,你已经掌握了关于JSON的基本知识,将来的开发工作中,数据的交换大多数时候都是通过ISON字符串进行的,所以有必要熟练的掌握这个技术点。后续会持续更新,敬请期待!