using LitJson; using System.Collections.Generic; using System.Linq; using UnityEngine; using UnityEngine.UI; public class TableTest : MonoBehaviour { public List<GameObject> contents; [SerializeField] GameObject prefab; //预制体 [SerializeField] GameObject parent; //父物体(content) // Start is called before the first frame update void Start() { TextAsset jsonFile = Resources.Load<TextAsset>("testfile"); string jsonString = jsonFile.text; JsonData jsonData = JsonMapper.ToObject(jsonString); Root data = JsonMapper.ToObject<Root>(jsonString); List<SubjectsInfoItem> subjectsInfoItems = data.subjectsInfo; List<SeatInfosItem> seatInfosItems = new List<SeatInfosItem>(); foreach (SubjectsInfoItem subjectsInfoItem in subjectsInfoItems) { if (subjectsInfoItem.seatInfos != null && subjectsInfoItem.seatInfos.Count() > 0) { seatInfosItems.AddRange(subjectsInfoItem.seatInfos); } Debug.Log(seatInfosItems.Count); } for (int i = 0; i < seatInfosItems.Count; i++) { GameObject item = Instantiate(prefab, parent.transform); contents.Add(item); contents[i].transform.GetChild(0).GetComponent<Text>().text = seatInfosItems[i].seatId; contents[i].transform.GetChild(1).GetComponent<Text>().text = seatInfosItems[i].seatName; contents[i].transform.GetChild(2).GetComponent<Text>().text = seatInfosItems[i].subjectId; } } }