Josn是一種輕量級的數(shù)據(jù)交換格式,JSON能夠描述四種簡單的類型(字符串、數(shù)字、布爾值及null)和兩種結(jié)構(gòu)化類型(對象及數(shù)組),在Unity里經(jīng)常用Json來處理大量的字符串,容易解析,效率非???。
基本結(jié)構(gòu)
1、語法
數(shù)據(jù)存在鍵值對中
數(shù)據(jù)由逗號分隔
花括號保存對象
方括號保存數(shù)組
eg:表示兩個學生的基本信息
{“Student”:[{“name”:”Tom”,”age”:19,”gender:”M”}, {“name”:”Marry”,”age”:22,”gender:”W”}] }
2、Json開發(fā)
使用兩種類庫:(需要將System.Json.dll和LitJson.dll放到工程目錄下)
System.Json(生成Json文件)
LitJson(解析Json文件)
(1)System.Json的類
JsonArray類 JsonArray是0個或多個JsonValue對象的有序序列
JsonObject類 JsonObject是一個無序的0個或更多個的鍵值對集合
JsonValue類 一個具體的Json對象的Value值
示例
在Unity中創(chuàng)建一個空物體,在其上掛載一個腳本,命名為JsonScript.cs,寫個方法來在Unity中生成一個Json文件,然后再寫個方法來讀取這個Json文件。前提要導入System.Json.dll和LitJson.dll兩個庫文件到Unity中。代碼如下:
using UnityEngine;
using System.Collections;
using System.Json;
using LitJson;
using System.IO;
public class JsonScript : MonoBehaviour { //文件要保存的路徑
string path;
void Start ()
{
path = Application.streamingAssetsPath+ "/JsonTest.txt"; //CreateJson(); ReadJson();
}
void CreateJson()
{ //創(chuàng)建一個json對象,相當于一個{}
JsonObject js = new JsonObject();//定義一個json的value值
JsonValue name = "洛克薩斯之手"; //把該值加到js對象里
js.Add("name", name);
//Q技能 JsonObject q = new JsonObject();
q.Add("Q技能", "大殺四方");
JsonArray time = new JsonArray(9,8,7,6,5);
q.Add("冷卻時間", time);
q.Add("消耗", 30);
//E技能
JsonObject e = new
JsonObject();
e.Add("E技能", "無情鐵手");
e.Add("冷卻時間", new JsonArray(24,21, 18, 15, 12));
JsonArray skill = new JsonArray(q, e);
js.Add("技能", skill); //寫入流路徑 StreamWriter writer = new
StreamWriter(path);
js.Save(writer); //寫入流把數(shù)據(jù)寫入文檔后自動更新
writer.AutoFlush = true; //關(guān)閉流 writer.Close();
}
//解析json文件
void ReadJson()
{
//fileInfo類提供了可以創(chuàng)建/打開/移動/拷貝一個文件
FileInfo file = new
FileInfo(path); //打開文件
StreamReader reader= file.OpenText();
//讀取文件里的內(nèi)容,從流的當前位置到末尾讀取流
string str = reader.ReadToEnd();
//使用JsonMapper類把字符串轉(zhuǎn)成json對象
JsonData data =JsonMapper.ToObject(str); Debug.Log(data["技能"][0]["冷卻時間"][0]); }
}
生成的Json文件如下圖:文章來源:http://www.zghlxwxcb.cn/news/detail-607749.html
添加描述
當然,游戲中這么簡單是遠遠不夠的,這只是操作方法,后面的還需要大家慢慢精煉文章來源地址http://www.zghlxwxcb.cn/news/detail-607749.html
到了這里,關(guān)于讀取JSON文件 如何在Unity中讀取Json文件中的數(shù)據(jù)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!