阿里fastjson反序列化漏洞,实在太多了,经常换版本,改成springboot自带的jackson。

Maven单独使用

        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
            <version>2.11.1</version>
        </dependency>

web项目spring-boot-starter-web已经包含了,无需再单独引用

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
package test;

import com.fasterxml.jackson.databind.ObjectMapper;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class Test {

    public static void main(String[] args) throws Exception {
        ObjectMapper mapper = new ObjectMapper();

        Map<String, Object> person = new HashMap<>();
        person.put("name", "zhangsan");
        person.put("age", 18);

        List<Map<String, Object>> personList = new ArrayList<>();
        personList.add(person);

        //对象转json字符串
        String jsonmap = mapper.writeValueAsString(person);
        System.out.println(jsonmap);//{"name":"zhangsan","age":18}
        String jsonlist = mapper.writeValueAsString(personList);
        System.out.println(jsonlist);//[{"name":"zhangsan","age":18}]

        //json字符串转对象
        Map<String, Object> map = mapper.readValue(jsonmap, Map.class);
        List<Map<String, Object>> list = mapper.readValue(jsonlist, List.class);
        System.out.println();
    }
}

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐