少し問題があります。 jsonファイルにいくつかのデータを保存しましたが、正常に動作します。 しかし、このデータを取得しようとすると、作成しようとしているオブジェクトのインタフェースに問題があります。 これは私のクラスの簡易版GSON InstanceCreator設定データ
public class MyObject{
//this is a interface
public Vector3Int position;
...}
OKですが、GSONはconsturctorなしのインタフェースを作成することはできませんので、私は、このクラスの作成:
public class VectorInstanceCreator implements InstanceCreator<Vector3Int >{
@Override
public Vector3Int createInstance(Type arg0) {
return new VectorImpl();
}
}
を、私はこの方法でそれを使用します。
...
GsonBuilder gsonBuilder = new GsonBuilder();
gsonBuilder.registerTypeAdapter(Vector3Int.class, new new VectorInstanceCreator());
Gson gson = gsonBuilder.create();
gson.fromJson(myJsonString, MyObject.class);
...
だから、それは動作しますが、私のJSONファイル内の値は、たとえば次のとおりです。
"position": {"x": 1.0, "y": 1.0,"z": 0.0}
ですが、Java-Object-Vectorの各値は0です。つまり、gsonはVectorInstanceCreatorクラスの指定コンストラクタを使用しますが、JSON-File/Objectの値は設定しません。
InstanceCreatorでインターフェイスを使用してこの値を設定するにはどうすればよいですか?