您好,登錄后才能下訂單哦!
txt格式轉json格式的方法?這個問題可能是我們日常學習或工作經常見到的。希望通過這個問題能讓你收獲頗深。下面是小編給大家帶來的參考內容,讓我們一起來看看吧!
JSON是一種輕量級的數據交換格式。它基于 ECMAScript 的一個子集,采用完全獨立于編程語言的文本格式來存儲和表示數據。簡潔和清晰的層次結構使得 JSON 成為理想的數據交換語言。 易于人閱讀和編寫,同時也易于機器解析和生成,并有效地提升網絡傳輸效率。
以下是轉換的程序代碼:
using System.Collections; using System.Collections.Generic; using System.IO; using System.Text; using LitJson; using UnityEngine; using Excel; using Excel.Core; using OfficeOpenXml.Style; using OfficeOpenXml; /// <summary> /// 該class用于json的時候不能有構造函數 /// </summary> public class DataNode//自定義類來承接一會讀出來的數據分類 { public string CopyName; public string CopyPosition; public string CopyRotation; } public class DataCenter//自定義類包含List列表來添加一會讀取出來的的數據信息 { public List<DataNode> List; public DataCenter() { List =new List<DataNode>(); } } public class JsonConvert : MonoBehaviour { // Use this for initialization private string _txtPath;//TXT文件路徑 private string _jsonPath;//轉換后寫入的json路徑 private string _excelPath; void Start () { _jsonPath = Application.streamingAssetsPath + "/CopyInfo.json";//定義路徑 _txtPath = Application.streamingAssetsPath + "/CopyInfo.txt"; _excelPath = Application.streamingAssetsPath + "/CopyInfo.json"; // Json的解析是很快的 網絡 ReadTextToJson();//讀取TXT文件并轉化為Json ReadJsonFromJsonPath();//讀取Json文件 WriteExcel(_excelPath); } // Update is called once per frame void Update () { } void ReadJsonFromJsonPath() { // 讀取全部(文件路徑) string jsondata = File.ReadAllText(_jsonPath); List<DataNode> node = JsonMapper.ToObject<List<DataNode>>(jsondata);//固定格式 Debug.LogError(node.Count); } void ReadTextToJson() { DataCenter dc = new DataCenter();//實例化dc,待會用其List //讀文件固定格式 using (StreamReader reader = new StreamReader(_txtPath,Encoding.UTF8)) { string tmpStr = string.Empty; while ( !string.IsNullOrEmpty(tmpStr = reader.ReadLine())) { string[] infos = tmpStr.Split('_'); DataNode _node = new DataNode();//實例化調用其屬性 _node.CopyName = infos[0];//把讀取的內容賦值 _node.CopyPosition = infos[1]; _node.CopyRotation = infos[2]; dc.List.Add(_node);//把內容添加進列表 } } //數據讀取完畢 開始寫入json 傳遞的List<> string jsonData = JsonMapper.ToJson(dc.List); File.WriteAllText(_jsonPath,jsonData); } private void WriteExcel(string path) { DataCenter dc = new DataCenter();//實例化dc,待會用其List //讀文件固定格式 using (StreamReader reader = new StreamReader(_txtPath, Encoding.UTF8)) { string tmpStr = string.Empty; while (!string.IsNullOrEmpty(tmpStr = reader.ReadLine())) { string[] infos = tmpStr.Split('_'); DataNode _node = new DataNode();//實例化調用其屬性 _node.CopyName = infos[0];//把讀取的內容賦值 _node.CopyPosition = infos[1]; _node.CopyRotation = infos[2]; dc.List.Add(_node);//把內容添加進列表 } } Debug.LogError(dc.List.Count); FileInfo excelInfo = new FileInfo(path); if (excelInfo.Exists) { excelInfo.Delete(); excelInfo = new FileInfo(path); } //開始使用 Excel using (ExcelPackage package = new ExcelPackage(excelInfo)) { ExcelWorksheet sheet = package.Workbook.Worksheets.Add("TestInfo"); // 添加了一個工作表 sheet.Cells[1, 1].Value = "CopyName"; sheet.Cells[1, 2].Value = "CopyPosition"; sheet.Cells[1, 3].Value = "CopyRotation"; for (int i = 0; i < dc.List.Count; i++) { sheet.Cells[2 + i, 1].Value = dc.List[i].CopyName; sheet.Cells[2 + i, 2].Value = dc.List[i].CopyPosition; sheet.Cells[2 + i, 3].Value = dc.List[i].CopyRotation; } sheet.Cells.Style.HorizontalAlignment = ExcelHorizontalAlignment.Center; sheet.Cells.Style.VerticalAlignment = ExcelVerticalAlignment.Center; sheet.Cells.Style.Font.Bold = true; sheet.Cells.Style.Font.Name = "宋體"; sheet.Cells.Style.Font.Size = 28; sheet.Cells.AutoFitColumns(50, 150); package.Save(); } } }
感謝各位的閱讀!看完上述內容,你們對txt格式轉json格式的方法大概了解了嗎?希望文章內容對大家有所幫助。如果想了解更多相關文章內容,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。