ttp://www.xwwzsj.com/weixin#item4">小程序开发
  • 案例展示
  • 新闻资讯
  • 解决方案
  • 瑞达杰昌建站
  • 联系我们
  • 客户专线:135-1821-9792

    服务热线:028-86922220

    我们专注于高端品牌网站创意设计与开发

  • Unity中有哪些解析json的方式

    本篇文章给大家分享的是有关Unity 中有哪些解析json的方式,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

    公司主营业务:成都网站设计、成都网站建设、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。成都创新互联是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。成都创新互联推出长泰免费做网站回馈大家。

    目前接触的unity 解析json 有几种:
    1.比较流行的listjson(数据对象必须和json一对一)
    2.目前unity自带 JsonUtility(不能解析复杂的json)
    3.Newtonsoft.Json (推荐可以解析复杂的json,不需要和json字段一对一 ,灵活)
    (下载地址:https://github.com/SaladLab/Json.Net.Unity3D/releases)

    listjson 对json 解析提供多样化,可以解析成JsonData,也可以通过JsonMapper 转成自定义的mode数据对象。
    listJson功能比较丰富,但是在通过JsonMapper转成自定的对象时,自定义对象的字段要和解析的json字段一对一(json里面的字段,自定义的对象一定要有),不然会解析失败。
    例如:
    jison:

    string json = @"
              {             ""d"":""d"",            ""album"" : {    
                 ""cc"":""cc"",          
                  ""name""   : ""The Dark Side of the Moon"",              ""artist"" : ""Pink Floyd"",              ""year""   : 1973,         
                  ""tracks"" : [                ""Speak To Me"",                ""Breathe"",                ""On The Run""
                  ],              ""tt"":""tt"",             ""tracksOb"":[{""trackOb"":""11""},{""trackOb"":""22""}],             ""bb"":""bb""         
                }
              }        ";

    要对应Json 的mod有 3个
    分别是 OO, TestModel,TestModel2

    public class OO
    {    public string d;    public TestModel album;    public string bb;
    }public class TestModel
    {    public string name;    public string artist;    public int year;    public string[] tracks;    public TestModel2[] tracksOb;
    }public class TestModel2
    {    public string trackOb;
    }

    以上是要解析的json 和 对应的自定义model数据
    1.使用 listJson 解析数据

    解析方法 public static T GetData2(string text) where T : class
        {        //JsonData table = AnalysisJson.Analy(text);
             T t = JsonMapper.ToObject(table.ToJson());         //T t = JsonConvert.DeserializeObject(text);
            //T t = JsonUtility.FromJson(text);
            return t;
        }
    OO o = GetData2(json);

    运行解析会报错,因为json字符串 包含了很多对象,和字段
    而 数据 OO, TestModel,TestModel2对象,并没有全部和json字符串字段一 一对应,listjson解析很严谨。

    2.使用 Newtonsoft.Json

    解析方法 public static T GetData2(string text) where T : class
        {        //JsonData table = AnalysisJson.Analy(text);
             //T t = JsonMapper.ToObject(table.ToJson());
    
             T t = JsonConvert.DeserializeObject(text);        //T t = JsonUtility.FromJson(text);
            return t;
        }
    OO o = GetData2(json);

    运行不会报错,完全解析。

    3.使用unity自带 JsonUtility

    解析方法 public static T GetData2(string text) where T : class
        {        //JsonData table = AnalysisJson.Analy(text);
             //T t = JsonMapper.ToObject(table.ToJson());
    
            // T t = JsonConvert.DeserializeObject(text);
            T t = JsonUtility.FromJson(text);        return t;
        }
    OO o = GetData2(json);

    以上就是Unity 中有哪些解析json的方式,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注创新互联行业资讯频道。


    文章题目:Unity中有哪些解析json的方式
    URL分享:http://xwwzsj.com/article/pjhgsg.html

    其他资讯

    售后响应及时

    7×24小时客服热线

    数据备份

    更安全、更高效、更稳定

    价格公道精准

    项目经理精准报价不弄虚作假

    合作无风险

    重合同讲信誉,无效全额退款