什么是JSON?

一、定义和使用规范
(1)定义

spring jap mysql json 映射_JSON

(2)规范

spring jap mysql json 映射_User_02

二、编程语言和JSON的转换关系(重要)
左边是JSON转其他编程语言,右边是编程语言转JSON

spring jap mysql json 映射_JSON_03

(1)JS和JSON之间的转换

spring jap mysql json 映射_json_04

也可以用这种方式将字符串转换成对象(注意: 一般JSON都是用双引号,外面一定要用单引号,内外的引号不能相同)

spring jap mysql json 映射_json_05

(2)转换的结果
①JSON字符串

spring jap mysql json 映射_json_06

②转换成JS对象(区别于JSON,是可以展开的)

spring jap mysql json 映射_User_07

三、JS和JSON的区别

spring jap mysql json 映射_JSON_08

对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字符串进行的,所以有必要熟练的掌握这个技术点。后续会持续更新,敬请期待!