您好,登錄后才能下訂單哦!
txt格式轉(zhuǎn)json格式的方法?這個問題可能是我們?nèi)粘W(xué)習(xí)或工作經(jīng)常見到的。希望通過這個問題能讓你收獲頗深。下面是小編給大家?guī)淼膮⒖純?nèi)容,讓我們一起來看看吧!
JSON是一種輕量級的數(shù)據(jù)交換格式。它基于 ECMAScript 的一個子集,采用完全獨立于編程語言的文本格式來存儲和表示數(shù)據(jù)。簡潔和清晰的層次結(jié)構(gòu)使得 JSON 成為理想的數(shù)據(jù)交換語言。 易于人閱讀和編寫,同時也易于機器解析和生成,并有效地提升網(wǎng)絡(luò)傳輸效率。
以下是轉(zhuǎn)換的程序代碼:
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的時候不能有構(gòu)造函數(shù) /// </summary> public class DataNode//自定義類來承接一會讀出來的數(shù)據(jù)分類 { public string CopyName; public string CopyPosition; public string CopyRotation; } public class DataCenter//自定義類包含List列表來添加一會讀取出來的的數(shù)據(jù)信息 { 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;//轉(zhuǎn)換后寫入的json路徑 private string _excelPath; void Start () { _jsonPath = Application.streamingAssetsPath + "/CopyInfo.json";//定義路徑 _txtPath = Application.streamingAssetsPath + "/CopyInfo.txt"; _excelPath = Application.streamingAssetsPath + "/CopyInfo.json"; // Json的解析是很快的 網(wǎng)絡(luò) ReadTextToJson();//讀取TXT文件并轉(zhuǎn)化為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();//實例化調(diào)用其屬性 _node.CopyName = infos[0];//把讀取的內(nèi)容賦值 _node.CopyPosition = infos[1]; _node.CopyRotation = infos[2]; dc.List.Add(_node);//把內(nèi)容添加進列表 } } //數(shù)據(jù)讀取完畢 開始寫入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();//實例化調(diào)用其屬性 _node.CopyName = infos[0];//把讀取的內(nèi)容賦值 _node.CopyPosition = infos[1]; _node.CopyRotation = infos[2]; dc.List.Add(_node);//把內(nèi)容添加進列表 } } 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(); } } }
感謝各位的閱讀!看完上述內(nèi)容,你們對txt格式轉(zhuǎn)json格式的方法大概了解了嗎?希望文章內(nèi)容對大家有所幫助。如果想了解更多相關(guān)文章內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。