LitJson在Unity中的使用

这篇具有很好参考价值的文章主要介绍了LitJson在Unity中的使用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

LitJson简单介绍

是一种轻量级的数据交换格式。它是基于JavaScript语法标准的一个子集。JSON采用完全独立于语言的文本格式,可以很容易在各种网络、平台和程序之间传输。JSON的语法很简单,易于人阅读和编写,同时也易于机器解析和生成

特别注意:Json中使用[ ]表示数组结构,使用{ }表示对象结构, “键”:“值” 的方式表示属性及值

LitJson的导入

LitJson包
提取码: Mark

将解压出的Dll放入Unity Asset Plugins文件夹下,如果没有改文件夹则创建一个
litjson unity,Unity实用小功能,unity,游戏引擎

LitJson Api 介绍

JsonData

JsonData为中转格式,表示一个对象,可以利用该格式来方便的对Json进行一些读取、写入、生成的操作,将它理解为LitJson为了便于使用者操作所设计的一种格式即可
用法如下

//实例
JsonData jsonData = new JsonData();

//写入
jsonData["type"] = "query_app_info";

//读取(读取需要按照写入的 格式、属性 进行读取,否则会报异常)
string _string= (string)jsonData["type"];

JsonMapper.ToJson()

可以将任何格式转化为string

//将jsondata转为json
string json = JsonMapper.ToJson(jsonData);

JsonMapper.ToObject(string)

可以将string转为任意T格式

//将json转为JsonData
JsonData _jsonData = JsonMapper.ToObject<JsonData>(gameConfig);

获取和生成Json

示例Json

我将该文件放在Unity的streamingAssets文件夹中
litjson unity,Unity实用小功能,unity,游戏引擎

文件内容文章来源地址https://www.toymoban.com/news/detail-742304.html

{
  "Time":"1月2日",
  "Num":11,
  "Videos":{
    "video_1":"满江红",
    "video_2":"深海"
  }
}

获取Json文件

public JsonData jsonData;
void LoadJson()
    {
        string configPath = Application.streamingAssetsPath + "/JsonStudyConfig.json";
        //判断是否存在该文件
        if (!File.Exists(configPath))
        {
            Debug.LogError("严重错误!配置文件不存在!");
        }
        //读取该路径下的文件转化为string类型
        string _config = File.ReadAllText(configPath);
        //再将该文件转化为jsonData类型
        jsonData = JsonMapper.ToObject<JsonData>(_config);
    }
对文件字段的读取
string time=(string)jsonData["Time"];
int num=(int)jsonData["Num"];
for (int i = 0; i < jsonData["Videos"].Count; i++)
        {
            
            string videoName = (string)jsonData["Videos"][i];
            Debug.Log(videoName);
        }

生成Json文件

方法一:用JsonData进行写入

void WriteJson()
    {
        JsonData wJsonData = new JsonData();
        wJsonData["FoodName"] = "西红柿炒鸡蛋";
        wJsonData["FoodNum"] = 4;

        string json = wJsonData.ToJson();
        string path = Application.streamingAssetsPath + "/myJson.json";

        StreamWriter sw = new StreamWriter(path);
        sw.Write(json);
        sw.Close();
        sw.Dispose();
    }

方法二:使用 JsonMapper和类 进行生成

void WriteJson02()
    {
        Food food = new Food("西红柿炒鸡蛋",4);
        
        string json = JsonMapper.ToJson(food);
        string path = Application.streamingAssetsPath + "/myJson02.json";
        StreamWriter sw = new StreamWriter(path);
        sw.Write(json);
        sw.Close();
        sw.Dispose();
    }
    public class Food
    {
        public string foodName;
        public  int num;
        public Food(string _name, int _num)
        {
            foodName = _name;
            num = _num;
        }
    }

到了这里,关于LitJson在Unity中的使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包