SpringMVC ------ JSON

SSH: Primavera Struct Hibernate
SSM: Primavera SpringMVC MyBatis
SpringBoot: Primavera

  1. ¿Qué es JSON: un formato de intercambio de datos ligera
  2. La relación entre JSON y JS son: expresión de cadena JSON JS objeto, se utiliza la información de texto que indica un objeto JS es esencialmente una cadena
  3. JSON y conversión del sistema de JS método:JSON.parse() JSON.stringify();
//将js对象转换成json字符串
let str = JSON.stringify(user);
console.log(str);
//将json字符串转换为js对象
let user2 = JSON.parse(str);
console.log(user2.age,user2.name,user2.sex);
  1. Los datos se transmiten a la parte delantera
@RestController
public class JsonController {

    @RequestMapping("/j1")
    public String json1(){
        return "string";
    }
    @RequestMapping(value = "/j2",produces ="application/json;charset=utf-8" )
    public String json2(){
        return "{\"name\":\"凯波\"}";
    }
}

Presentación de la dependientes correspondientes

<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind -->
<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>2.10.1</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.alibaba/fastjson -->
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>fastjson</artifactId>
    <version>1.2.62</version>
</dependency>

<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>1.18.10</version>
</dependency>
  • 1. clase de entidad Preparación
package com.yang.pojo;


import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@AllArgsConstructor
@NoArgsConstructor
public class User {
    private String name;
    private int age;
    private String sex;

}
  • 2. Importación Lombok
  • 3. controlador de capa de control de escritura

por JSON

package com.yang.controller;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.yang.pojo.User;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.Arrays;
import java.util.List;

@RestController
public class JsonController {
@RequestMapping("/o1")
public String json3() throws JsonProcessingException {
    ObjectMapper mapper = new ObjectMapper();
    User user1 = new User("杨凯波",3,"男");
    User user2 = new User("杨凯波",3,"男");
    User user3 = new User("杨凯波",3,"男");
    User user4 = new User("杨凯波",3,"男");
    User user5 = new User("杨凯波",3,"男");

    List<User> users = Arrays.asList(user1, user2, user3, user4, user5);
    return mapper.writeValueAsString(users);

}
}

por FastJson

@RequestMapping("/fast")
public String test(){
    User user1 = new User("杨凯波",3,"男");
    User user2 = new User("杨凯波",3,"男");
    User user3 = new User("杨凯波",3,"男");
    User user4 = new User("杨凯波",3,"男");
    User user5 = new User("杨凯波",3,"男");

    List<User> users = Arrays.asList(user1, user2, user3, user4, user5);

    String jsonStr =  JSON.toJSONString(users);
    System.out.println(jsonStr);

    List<User> list = JSON.parseObject(jsonStr,List.class);
    System.out.println(list);


    return jsonStr;

}
  1. JSON soluciones de back-end ilegibles
  • 1. Toma nota de resolver

@RequestMapping(value = "/j2",produces ="application/json;charset=utf-8" )

  • distorsión 2.SpringMVC proceso de configuración JSON (poli)
<!--解决乱码固定的-->
<mvc:annotation-driven>
    <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>

Como medida de precaución, pom sigue

<?xml version="1.0" encoding="UTF-8"?>
<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.yang</groupId>
    <artifactId>SPRING</artifactId>
    <version>1.0-SNAPSHOT</version>

    <dependencies><!-- https://mvnrepository.com/artifact/org.springframework/spring-webmvc -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>5.2.2.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.5.2</version>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
        </dependency>
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis-spring</artifactId>
            <version>2.0.2</version>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.47</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.springframework/spring-jdbc -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-jdbc</artifactId>
            <version>5.2.2.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.10.1</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/com.alibaba/fastjson -->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>1.2.62</version>
        </dependency>

        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.10</version>
        </dependency>


    </dependencies>

</project>
Publicado 80 artículos originales · ganado elogios 7 · vistas 4749

Supongo que te gusta

Origin blog.csdn.net/y18791050779/article/details/105053920
Recomendado
Clasificación