使用JSON在Unity 3D中保存不佳

时间:2017-04-05 16:10:12

标签: json unity3d save

我的体素地形源代码无法保存数据。我有一个名为terrain的3D char数组,当我保存时,它的结果是空的json。结果是:

{}

源代码是:

public void TerrainSave() {
    LoadingSavingClass myObject = new LoadingSavingClass();
    myObject.terrain = terrain;
    string json = JsonUtility.ToJson(myObject);
    File.WriteAllText(Application.streamingAssetsPath + "/terrain/save.ter", json);
    if(json == "{}")
    {
        Debug.Log("Saved clear data");
    }
}

课程是:

[Serializable]
public class LoadingSavingClass
{
    public char[,,] terrain = new char[128, 32, 128];
}

保存的3D char char数组不是空的,我在保存之前将一些数据放入其中。

1 个答案:

答案 0 :(得分:2)

正如JSON Serialization Docs中提到的那样,JsonUtility.ToJson将仅序列化与Unity检查器中序列化相同的类型。 char [,,,]不会在Unity的检查器中序列化,因此它不会使用JsonUtility.ToJson进行序列化