【Unity】JsonUtility.ToJsonは破壊的変更を行うの?
環境情報
- Unity 2017.3.1p3
問題🤔
HogeDataインスタンスをJsonUtility.ToJsonでJson吐き出しすると、 nullのはずのパラメータに初期値が入ってしまいます。
リファレンスやソースコードを確認しましたが、 破壊的変更を行うのが正しい挙動なのか、バグなのかわかりませんでした。
ただの理解不足なだけかもしれませんが ご存知の方がいらっしゃったら、教えていただきたいです。。
検証コード
# class定義 [Serializable] public class HogeData { public FugaData fugaData; } [Serializable] public class FugaData { public int intParameter; } # テストコード var testData = new HogeData(); Debug.Log(testData.fugaData); Debug.Log(JsonUtility.ToJson(testData)); Debug.Log(testData.fugaData); # 結果 Null {"fugaData":{"intParameter":0}} FugaData