Gsonの問題点はわかりませんが、ここでArrayListのサブクラスを作成していますか?
new ArrayList<Process>(){
{
add(new Process("News Workflow", "This is the workflow for the news segment", "image"));
}
};
あなたは
System.out.println(processes.getClass().getName());
によってそれがjava.util.ArrayList
を印刷しないことを確認することができます。
私はあなたがそれを匿名クラスに問題があると思われ
public static volatile ArrayList<Process> processes = new ArrayList<Process>();
static {
processes.add(new Process("News Workflow", "This is the workflow for the news segment", "image"));
};
のような静的初期化を使用したいと思いますが、同じ問題がここに
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
public class GSonAnonymTest {
interface Holder {
String get();
}
static Holder h = new Holder() {
String s = "value";
@Override
public String get() {
return s;
}
};
public static void main(final String[] args) {
final GsonBuilder gb = new GsonBuilder();
final Gson gson = gb.create();
System.out.println("h:" + gson.toJson(h));
System.out.println(h.get());
}
}
UPDです:Gson User Guide - Finer Points with Objectsで見て、最後のポイント "...匿名クラスとローカルクラスは無視され、シリアライゼーションまたはデシリアライゼーションには含まれません..."