2018年8月30日-Unity读取json文件

1.读取工程文件里的json文件(最简单的开始)

  • 先我们先来创建一个json格式的文件在本地工程文件中Asset下(这里我找到了菜鸟教程的一个json文件)
//这是一个名为StudyData.json的json文件放在Asset下
{
  "sites": {
    "site": [
      {
        "id": "1",
        "name": "菜鸟教程",
        "url": "www.runoob.com"
      },
      {
        "id": "2",
        "name": "菜鸟工具",
        "url": "c.runoob.com"
      },
      {
        "id": "3",
        "name": "Google",
        "url": "www.google.com"
      }
    ]
  }
}
  • 新建一个对应json格式的类文件(注意格式必须对应json文件)

using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
[Serializable]
public class JsonData {

    public Sites sites;
}
[Serializable]
public class Sites
{
    public List<Site> site;
}
[Serializable]
public class Site
{
    public string id;
    public string name;
    public string url;
  
}
  • 新建一个脚本读取这个json,利用Unity中WWW通过路径得到文件中内容,利用Unity自带JsonUtility解析文件中string内容
 // Use this for initialization
    void Start()
    {
        StartCoroutine("ReadJson");
    }

    // Update is called once per frame
    void Update()
    {

    }
    IEnumerator ReadJson()
    {
        WWW www = new WWW(@"file://" + Application.dataPath + @"/StudyData.json");

        yield return www;
        if (www.isDone)
        {
            if (www.error != null)
            {
                Debug.Log(www.error);
                yield return null;
            }
            else
            {
                Debug.Log(www.text);
                string json = www.text.ToString();
                Debug.Log(json);
                JsonData data =  JsonUtility.FromJson<JsonData>(json);
                foreach (Site item in data.sites.site)
                {
                    Debug.Log("id:"+item.id+"  名字:"+item.name+"  url"+item.url);

                }
               
            }
        }
    }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 111. [动画系统]如何将其他类型的动画转换成关键帧动画? 动画->点缓存->关键帧 112. [动画]Unit...
    胤醚貔貅阅读 14,553评论 3 88
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 177,241评论 25 709
  • 日语,被西方人称为“魔鬼的语言”。 何出此言?是否意指日语这门语言很难学? 在我看来,不难 但 也难。 不难, 因...
    萤_阅读 4,502评论 2 3
  • 1.函数声明和函数表达式有什么区别 答:函数声明的写法function 函数名称 (参数){函数体}其中参数可写可...
    浩天天阅读 2,844评论 0 0
  • 小H最近变化挺大的,走路和读书的意愿都很强烈。大概是经常看到妈妈抱着小A读, 临睡前都要撅着小屁股抬起腿自己蹭到我...
    Rainer_AH阅读 3,081评论 0 0

友情链接更多精彩内容