Fuera de servicio cuando fastJson y gson se convierten al formato de datos json

Fuera de servicio cuando fastJson y gson se convierten al formato de datos json

//先看如下简单程序
//此时我们使用阿里的fastJson把对象转json格式
public static void main(String[] args) {
        User user001 = new User();
        user001.setId(1);
        user001.setAge(11);
        user001.setName("小明");
        user001.setEmail("@ailyun.com");

        System.out.println(JSONObject.toJSON(user001));
        System.out.println(JSONObject.toJSON(user001).getClass());

    }

//打印结果
//从打印结果我们可以看出
//fastJson把对象转json的时候顺序被打乱
{"name":"小明","id":1,"age":11,"email":"@ailyun.com"}
class com.alibaba.fastjson.JSONObject

//同样的流程,我们用谷歌的gson来试试
public static void main(String[] args) {
        User user001 = new User();
        user001.setId(1);
        user001.setAge(11);
        user001.setName("小明");
        user001.setEmail("@ailyun.com");

        System.out.println(JSONObject.toJSON(user001));
        System.out.println(JSONObject.toJSON(user001).getClass());

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

        Gson gson = new Gson();
        System.out.println(new JsonParser().parse(gson.toJson(user001)).getAsJsonObject());
        System.out.println(new JsonParser().parse(gson.toJson(user001)).getAsJsonObject().getClass());

    }

//打印结果
{"name":"小明","id":1,"age":11,"email":"@ailyun.com"}
class com.alibaba.fastjson.JSONObject
-----------------------------
{"id":1,"name":"小明","age":11,"email":"@ailyun.com"}
class com.google.gson.JsonObject


//结果很明显 gson数据转换的时候没有出现顺序乱的问题
//因此在这里还是推荐各位尽量用gson
//因为涉及到 验签 对象嵌套的时候 转换json格式乱序是一个很让人头疼的问题
14 artículos originales publicados · Me gustaron 15 · Visitas 930

Supongo que te gusta

Origin blog.csdn.net/weixin_43938877/article/details/103308127
Recomendado
Clasificación