接着相关资料1的内容出现的错误
读取方块数据为什么只能保存instanceID无法正常读取的数据
发现错误
发现与参考资料1的存储数据不一样。
当SaveData.json中已经保存了数据,当直接在Start函数中使用 loadJSONCubeDate();读取SaveData.json的数据的时候,发现不能产生正常的结果,无法读取数据的内容。
JSONDemon.cs
...
private void Start()
{
loadJSONCubeDate();
}
...
SaveData.json错误保存的数据
{"Items":[{"instanceID":151226},{"instanceID":151256},{"instanceID":151308}]}
当根据相关资料1的代码进行读取数据的时候
发现读取的数据无法显示,并且只有实体。
因为 相关资料1里面的内容,保存的就是 实体GameObject,而不是 数据本身字符串string、int等等,所以会出现错误。
解决错误
SaveData.json正确保存的数据
jsonStringZ:{
"Items":[
{
"position":{"x":-3.0,"y":0.7600000500679016,"z":-1.8700000047683716},
"quaternion":{"x":0.0,"y":0.9297260046005249,"z":-0.3682519793510437,"w":0.0},
"instanceID":151440,
"Name":"Cube_Red",
"Level":1,
"Stats":[]},
{"position":{"x":-0.9900000095367432,"y":0.7600000500679016,"z":-1.8700000047683716},
"quaternion":{"x":0.23644280433654786,"y":0.0,"z":0.0,"w":0.9716454148292542},
"instanceID":151470,
"Name":"Cube_Green",
"Level":2,
"Stats":[]},
{"position":{"x":0.75,"y":0.7600000500679016,"z":-1.8700000047683716},
"quaternion":{"x":0.27803176641464236,"y":-0.05573149770498276,"z":-0.1871250867843628,"w":0.9405192732810974},
"instanceID":151522,
"Name":"Cube_Blue",
"Level":3,
"Stats":[]}
]
}
最主要保存的数据为Test_JSONCube_,没有函数,没有继承MonoBehaviour
using UnityEngine;
[System.Serializable]//
public class Test_JSONCube : MonoBehaviour
{
...
}
[System.Serializable]
public class Test_JSONCube_
{
/// <summary>
/// world position
/// </summary>
public Vector3 position;
/// <summary>
/// rotation
/// </summary>
public Quaternion quaternion;
/// <summary>
/// 场景生成的固定的ID
/// </summary>
p