色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

java json 泛型序列化

夏志豪1年前8瀏覽0評論

在Java中,我們常常需要將對象序列化成JSON格式,或者將JSON格式的字符串反序列化成Java對象。這時候我們就可以使用JSON庫來實現。JSON庫中,常常會用到泛型序列化,讓我們來一探究竟。

首先,我們需要導入JSON庫,比如使用Fastjson庫:

import com.alibaba.fastjson.JSON;

然后,我們定義一個Java實體類:

public class User {
private String name;
private int age;
// 省略getter和setter方法
}

現在我們來看一下如何將這個User對象序列化成JSON格式的字符串:

User user = new User();
user.setName("Tom");
user.setAge(18);
String jsonString = JSON.toJSONString(user);
System.out.println(jsonString);

上述代碼中,我們使用了JSON.toJSONString方法將User對象序列化成JSON格式的字符串,然后打印輸出。

接下來,我們來看一下如何將JSON格式的字符串反序列化成User對象:

String jsonString = "{\"name\":\"Tom\",\"age\":18}";
User user = JSON.parseObject(jsonString, User.class);
System.out.println(user.getName() + " " + user.getAge());

上述代碼中,我們使用了JSON.parseObject方法將JSON格式的字符串反序列化成User對象,然后打印輸出。

在實際場景中,我們可能會遇到一些復雜的數據結構,這時候就需要使用泛型序列化。比如我們定義一個泛型類:

public class Result{
private int code;
private String message;
private T data;
// 省略getter和setter方法
}

然后,在我們的業務邏輯中,我們可能會返回一些Result對象,這時候我們就需要將Result對象序列化成JSON格式的字符串:

Resultresult = new Result<>();
result.setCode(200);
result.setMessage("請求成功");
User user = new User();
user.setName("Tom");
user.setAge(18);
result.setData(user);
String jsonString = JSON.toJSONString(result);
System.out.println(jsonString);

最后,我們來看一下如何將JSON格式的字符串反序列化成Result對象:

String jsonString = "{\"code\":200,\"message\":\"請求成功\",\"data\":{\"name\":\"Tom\",\"age\":18}}";
Resultresult = JSON.parseObject(jsonString, new TypeReference>(){});
System.out.println(result.getCode() + " " + result.getMessage() + " " + result.getData().getName() + " " + result.getData().getAge());

上述代碼中,我們使用了JSON.parseObject方法將JSON格式的字符串反序列化成Result對象,需要注意的是,我們需要使用TypeReference來指定泛型類型。

以上就是Java中JSON庫中泛型序列化的簡介和使用。