http://json2csharp.chahuo.com/ 根据json数据生成的类,如下;
/*
*其JsonUtility.FromJson 不能设置{ get; set; },一直报空引用,需要设置实例对象异常,最后我把{ get; set; }删了就可以存进来了,我真的想······
*public class Data {
public string A { get; set; }
public string B { get; set; }
public string C { get; set; }
public string D { get; set; }
}
public class RootObject {
public List<Data> data { get; set; }
public string total { get; set; }
}
*
*/
[System.Serializable]
public class Item
{
public string A;
public string B;
public string C;
public string D;
}
// 接受 api 返回的 json 数据
[System.Serializable]
public class ItemData
{
public List<Item> data;
public int total;
}
void Start()
{
if (!File.Exists(JsonPath()))
{
Debug.LogError("读取的文件不存在!");
return;
}
// string jsonString = File.ReadAllText(Application.dataPath + "/Data/ItemJsonFromApi.json");
string json = File.ReadAllText(JsonPath());
ItemData itemDate = JsonUtility.FromJson<ItemData>(json);
Debug.Log(itemDate.total);
foreach (var item in itemDate.data)
{
Debug.Log(item.A);
}
}
//保存json文件路径
string JsonPath()
{
return Application.streamingAssetsPath + "/trouble.json";
}
///json 数据
{
"data": [
{
"A": "zhanXXXXXXXXXXXg",
"B": "00000000zhangXXXXXXXX",
"C": "gun1.png",
"D":"DDDD"
},
{
"A": 2,
"B": "gun2",
"C": "gun2.png",
"D":"DDDD"
},
{
"A": 3,
"B": "gun3",
"C": "gun1.png",
"D":"DDDD"
},
{
"A": 4,
"B": "gun4",
"C": "gun2.png",
"D":"DDDD"
}
],
"total": 333
}