using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.Linq;
using Unity.VisualScripting.FullSerializer;
using UnityEditor;
using UnityEngine;
using Debug = UnityEngine.Debug;
public class Test : MonoBehaviour
{
#region List转json字符,再转存到本地;从本地读取json文件,再转为List。
void ListToFile()
{
List<MyData> myList = new List<MyData>
{
new MyData { id = 1, name = "11111" },
new MyData { id = 2, name = "22222" }
};
string jsonString = JsonUtility.ToJson(new MyDataList("哈哈", myList.ToArray())); // 注意:需要先转换为数组
string path = Path.Combine(Application.dataPath, "myList.json");
Debug.Log(path);
File.WriteAllText(path, jsonString);
}
void FileToList()
{
string path = Path.Combine(Application.dataPath, "myList.json");
string jsonString = File.ReadAllText(path);
MyDataList myDataList = new MyDataList();
myDataList = JsonUtility.FromJson<MyDataList>(jsonString);
List<MyData> myList = myDataList.myDatas.ToList();
foreach (var item in myList)
{
Debug.Log(item.id + " " + item.name);
}
}
#endregion
}
[System.Serializable]
public class MyData
{
public int id;
public string name;
}
[System.Serializable]
public class MyDataList
{
public string myName;
public MyData[] myDatas;
public MyDataList(string name, MyData[] datas)
{
myName = name;
myDatas = datas;
}
public MyDataList()
{
}
}