Json   发布时间:2022-04-22  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了com.alibaba.fastjson.JSON对类对象的序列化与反序列化大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

1. 目标

把类的对象存储到字符串可存储

2. 类定义

public interface JsonInterface {
}
@H_504_16@mport com.alibaba.fastjson.JSON;
import lombok.Getter;
import lombok.Setter;

@Setter
@Getter
public class JsonVo implements JsonInterface {
    private String id;
    private String name;

    public JsonVo(String id,String Name) {
        super();
        this.id = id;
        this.name = name;
    }

    @Override
    public String toString() {
        return String.format("id:%s   ||||  name:%s",id,Name);

    }
}

3. 测试

    public void test() {
        JsonInterface tmp = new JsonVo("id1","name1");
        String json = JSON.toJSONString(tmp);

        System.out.println(json);
        JsonInterface jsonVo = JSON.parSEObject(json,JsonVo.class);
        System.out.println(jsonVo);

        System.out.println("--------");

        byte[] bytes = JSON.toJSONBytes(tmp);
        System.out.println(bytes);
        JsonInterface jsonVo2 = JSON.parSEObject(bytes,JsonVo.class);
        System.out.println(jsonVo2);
    }

结果

{"id":"id1","name":"name1"}
id:id1   ||||  name:name1
--------
[@L_403_0@
id:id1   ||||  name:name1

4. Fastjson

Fastjson是一个Java语言编写的高性能功能完善的JSON库。它采用一种“假定有序快速匹配”的算法,把JSON Parse的性能提升到极致,是目前Java语言中最快的JSON库。Fastjson接口简单易用,已经被广泛使用在缓存序列化、协议交互、Web输出、Android客户端等多种应用场景

5. TypeReference

@H_801_125@例1

 public void test2() {
        List<Integer> list = new ArrayList<>();
        list.add(1);
        list.add(9);
        list.add(4);
        list.add(8);
        JSONObject jsonObj = new JSONObject();
        jsonObj.put("a",list);
        System.out.println(jsonObj);

        List<String> list2 = jsonObj.getObject("a",new TypeReference<List<Integer>>(){});
        System.out.println(list2);
    }

结果

{"a":[1,9,4,8]}
[1,8]

@H_801_125@例2

public void test3() {
        List<JsonVo> list = new ArrayList<>();
        list.add(new JsonVo("id1","name1"));
        list.add(new JsonVo("id2","name2"));
        list.add(new JsonVo("id3","name3"));
        JSONObject jsonObj = new JSONObject();
        jsonObj.put("a",new TypeReference<List<JsonVo>>(){});
        System.out.println(list2);
    }

结果

{"a":[{"id":"id1","name":"name1"},{"id":"id2","name":"name2"},{"id":"id3","name":"name3"}]}
[id:id1   ||||  name:name1,id:id2   ||||  name:name2,id:id3   ||||  name:name3]

大佬总结

以上是大佬教程为你收集整理的com.alibaba.fastjson.JSON对类对象的序列化与反序列化全部内容,希望文章能够帮你解决com.alibaba.fastjson.JSON对类对象的序列化与反序列化所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。