《Unity系列》Json文件格式的解析——初級教程


Json作為輕量級的數據交換格式,被廣泛應用於網絡數據傳輸中。相關的解析工具層出不窮,一般掌握一個工具的應用其他的相應工具就能立馬學會。

這里以C#中的LitJson為例給大家示范一下解析工具的用法。當然在示范之前有必要說明一下Json的數據格式是怎么回事,才好理解相應的代碼。

Json格式必須遵循以下原則,不得違反——

一、必須以一個對象或者數組作為根節點;

例如:

 以一個對象作為根節點 {"xx":"xx","xx":"xx","xx":{..},"xx":[]....}

 以一個數組作為根節點   [{},{},...]

二、使用{}表示對象,[]表示數組,中間的屬性使用鍵值對的方式;

三、鍵值對的鍵必須使用雙引號“”包圍住;

四、鍵值對中的值可以是對象,數組,數字,字符串,true/false,null(空值);

 

遵循以上要點,下面開始Jason的解析工作:

第一步:在vs中首先添加LitJson引用(如下圖),使用的時候導入命名空間:using LitJson;

第二步:獲取要解析的文件,並書寫解析類

例如格式

[

{"id":1,"name":"第一式","damage":50},

{"id":2,"name":"第二式","damage":80},

{"id":3,"name":"第三式","damage":100}

]

解析類如下寫法:

public class Skill
{
public int id { set; get; }
public string name { set; get; }
public int damage { set; get; }

public override string ToString()
{
return string.Format("id:{0};name:{1};damage:{2}", id, name, damage);
}
}

注意事項:解析的屬性必須與json中的屬性完全一致,否則無法獲取數據;此處為了獲得輸出結果重寫tostring方法。

第三步:使用LitJson進行解析

//將解析的文本讀入一個字符串,如果是unity也是一樣
string str = File.ReadAllText("Skill.Json");
//要解析的是一個Skill類型的對象數組,使用泛型解析
Skill[] skillList = JsonMapper.ToObject<Skill[]>(str);
//通過foreach遍歷數組中的Skill元素並打印輸出
foreach (Skill item in skillList)
{
Console.WriteLine(item);
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM