0
我有一點問題。 我在json文件中存儲了一些數據,並且它工作正常。 但是,如果我嘗試檢索這些數據,我嘗試創建的對象的接口存在問題。 這是我班的簡化版GSON InstanceCreator設置數據
public class MyObject{
//this is a interface
public Vector3Int position;
...}
好吧,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對象向量中的每個值都是0.所以這意味着,gson只使用我的VectorInstanceCreator類的給定構造函數,但不設置JSON文件/對象的值。
如何通過使用與InstanceCreator的接口來設置此值?