Java
 Computer >> コンピューター >  >> プログラミング >> Java

JavaのGsonライブラリを使用してジェネリック型をシリアル化および逆シリアル化するにはどうすればよいですか?


Javaクラスがジェネリック型であり、Gsonライブラリで使用している場合 JSONのシリアル化 および逆シリアル化 。 Gsonライブラリは、 com.google.gson.reflect.TypeTokenというクラスを提供します Gson TypeTokenを作成してジェネリック型を格納する クラスとクラスタイプを渡します。このタイプを使用すると、Gsonはジェネリッククラスで渡されたクラスを知ることができます。

構文
public class TypeToken<T> extends java.lang.Object
import java.lang.reflect.Type;
import java.util.*;
import com.google.gson.*;
import com.google.gson.reflect.*;
public class GenericTypesJSONTest {
   public static void main(String[] args) {
      Gson gson = new GsonBuilder().setPrettyPrinting().create();
      List<String> list = Arrays.asList("INDIA", "AUSTRALIA", "ENGLAND", "SOUTH AFRICA");
      String jsonStr = gson.toJson(list);
      System.out.println(jsonStr);
      Type listType = new TypeToken<List<String>>() {}.getType();
      list = gson.fromJson(jsonStr, listType);
      System.out.println(list);
   }
}
出力
[
   "INDIA",
   "AUSTRALIA",
   "ENGLAND",
   "SOUTH AFRICA"
]
[INDIA, AUSTRALIA, ENGLAND, SOUTH AFRICA]

  1. Java OpenCVライブラリを使用して画像のコントラストを変更するにはどうすればよいですか?

    画像の明るさやコントラストの増減は、画像のピクセルを変換することで実現できる操作です。これは、方程式の形で次のように表すことができます- g(i, j) = α . f(i, j)+ β どこで、 (i、j)はピクセルの位置です。 α(ゲイン)とβ(バイアス)は変換のパラメーターです。 ゲインパラメータが画像のコントラストを制御し、バイアスパラメータが画像の明るさを制御する場合があります。 convertTo() org.opencv.core.Matのメソッド クラスは、画像のコントラストと明るさを変更するために、指定された行列に対して必要

  2. JavaのGsonライブラリを使用してJSON文字列をファイルに書き込む方法は?

    Gsonは、JavaオブジェクトをJSON表現に変換するために使用できるライブラリです。 。使用する主なクラスはGson new Gson()を呼び出すことで作成できます およびGsonBuilder クラスを使用してGsonインスタンスを作成できます。 JSON文字列をファイルに書き込む toJson()を使用する Gsonの方法 以下の例のクラス 例 import java.io.*; import com.google.gson.*; public class JSONToFileTest {    public static void main(String[