Unity 读取Json常用的两种方式

使用的是Litjson

1、读取本地Json

    public void ReadJson()
    {
        StreamReader streamReader = new StreamReader(Application.dataPath + "/XXX.json");
        string str = streamReader.ReadToEnd();
        json = JsonMapper.ToObject(str);
    }

2、请求http(强烈建议先下载到本地再读取

    private IEnumerator GetInterface(string uri)
    {
        using (UnityWebRequest webRequest = UnityWebRequest.Get(uri))
        {
            yield return webRequest.SendWebRequest();
            if (webRequest.isNetworkError)
            {
                Debug.LogError(uri + "请求错误:" + webRequest.error);
            }
            else
            {
                Debug.Log(webRequest.downloadHandler.text);
                //保存本地
                string savePath = Application.streamingAssetsPath + "/" + "XXX.json";
                File.WriteAllText(savePath, Regex.Unescape(webRequest.downloadHandler.text));
                //读取
                StreamReader streamReader = new StreamReader(savePath);
                string str = streamReader.ReadToEnd();
                JsonData json = JsonMapper.ToObject(str);
                streamReader.Close();

            }
        }
    }

 

posted on 2019-10-26 12:31  北田  阅读(9570)  评论(2编辑  收藏  举报