40 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			C#
		
	
	
	
			
		
		
	
	
			40 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			C#
		
	
	
	
| 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;
 | ||
|         }
 | ||
| 
 | ||
|     }
 | ||
| }
 |