0
点赞
收藏
分享

微信扫一扫

阿里巴巴fastjson一些使用场景详解

高子歌 2022-01-11 阅读 66
jsonjava

fastjson常用API

一、引入Maven

<!-- https://mvnrepository.com/artifact/com.alibaba/fastjson -->
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>fastjson</artifactId>
    <version>1.2.51</version>
</dependency>

二、常用场景

代码如下(示例):

基础类

public class Student {
    private String name;
    private int age;

    public String getName() {
        return name;
    }

    public int getAge() {
        return age;
    }

    public void setName(String name) {
        this.name = name;
    }

    public void setAge(int age) {
        this.age = age;
    }

    @Override
    public String toString() {
        return "Student{" +
                "name='" + name + '\'' +
                ", age=" + age +
                '}';
    }
}

API操作

   /**
     * 基本Api操作
     */
    public static void demo1() {
        String str = "{\"status\":true,\"data\":[{\"name\":\"张刚\",\"age\":\"2\"},{\"name\":\"zhanggang\",\"age\":\"3\"}],\"code\":200}";
        //字符串转成JSONObject
        JSONObject jsonObject = JSON.parseObject(str);
        //获得JSONObject的某个属性
        Boolean status = jsonObject.getBoolean("status");
        //获得JSONObject里的JSONArray
        JSONArray jsonArray = jsonObject.getJSONArray("data");
        //JSONArray转字符串
        String toJSONString = jsonArray.toJSONString();
    }

    /**
     * json字符串转Map
     */
    public static void demo2() {
        String str = "{\"status\":true,\"data\":[{\"name\":\"张刚\",\"age\":\"2\"},{\"name\":\"zhanggang\",\"age\":\"3\"}],\"code\":200}";
        JSONObject jsonObject = JSON.parseObject(str);
        Map<String, Object> map = (Map<String, Object>) jsonObject;
        Object data = map.get("data");
    }

    /**
     * json字符串转JavaBean
     */
    public static void demo3() {
        String s = "{\"name\":\"张刚\",\"age\":\"2\"}";
        Student student = JSON.parseObject(s, Student.class);
        System.out.println(student);
    }

    /**
     * json字符串转成List<JavaBean>的集合
     */
    public static void demo4() {
        String s = "[{\"name\":\"张刚\",\"age\":\"2\"},{\"name\":\"zhanggang\",\"age\":\"3\"}]";
        List<Student> list = JSON.parseArray(s, Student.class);
        list.stream().forEach(System.out::println);
        System.out.println("------------------");
        List<Map> list2 = JSON.parseArray(s, Map.class);
        list2.stream().forEach(System.out::println);
    }

    /**
     * json字符串转成List<Map>的集合
     */
    public static void demo5() {
        String s = "[{\"name\":\"张刚\",\"age\":\"2\"},{\"name\":\"zhanggang\",\"age\":\"3\"}]";
        //第一种方式
        List<Map> list1 = JSON.parseArray(s, Map.class);
        list1.stream().forEach(System.out::println);
        //第二种方式
        List<Map<String, Object>> list2 = JSONArray.parseObject(s, List.class);
        list2.stream().forEach(System.out::println);
        //第三种方式
        List<Map<String, Object>> list3 = (List<Map<String, Object>>) JSONArray.parse(s);
        list3.stream().forEach(System.out::println);
    }
举报

相关推荐

0 条评论