首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Unity将数据保存为本地Json文件

Unity将数据保存为本地Json文件

作者头像
用户12298955
发布2026-05-06 16:38:47
发布2026-05-06 16:38:47
640
举报
代码语言:javascript
复制
/// 判断文件是否存在
public static bool CheckFileExists(string filePath)
    {
        return File.Exists(filePath);
    }
    /// <summary>
    /// 保存json为文件
    /// </summary>
    /// <param name="jsonData"></param>
    /// <param name="filePath"></param>
    public static void SaveJsonToFile(string jsonString, string filePath)
    {
        JsonData jsonData = JsonMapper.ToObject(jsonString);

        bool fileExists = CheckFileExists(filePath);
        if (fileExists)
        {
            Debug.LogError("文件存在。");
        }
        else
        {
            using (StreamWriter sw = new StreamWriter(filePath))
            {
                sw.Write(jsonData.ToJson());
            }
            Debug.LogError("文件不存在。保存成功");
        }
       
    }
///请求接口 

    IEnumerator UnityWebRequestPost(string url, Dictionary<string, string> formdata, Action<string> textCallBack)
    {
        WWWForm wWForm = new WWWForm();
        foreach (var item in formdata)
        {
            wWForm.AddField(item.Key, item.Value);
        }
        using (UnityWebRequest request = UnityWebRequest.Post(url, wWForm))
        {
            // request.downloadHandler = (DownloadHandler)new DownloadHandlerBuffer();


            yield return request.SendWebRequest();
            if (request.isHttpError || request.isNetworkError)
            {
                Debug.LogError(request.error);

            }
            else
            {
                string result = request.downloadHandler.text;
                string filePath = Application.dataPath + "/example.json";
                SaveJsonToFile(result, filePath);
                textCallBack?.Invoke(result);
            }
        }
    }
// 请求数据
  public void StartGetweather()
    {
        Dictionary<string, string> formDic = new Dictionary<string, string>();
        formDic.Add("deviceId", "408aee9882453566018247d34b090002");
        StartCoroutine(UnityWebRequestPost(url, formDic, text =>
          {
              Debug.Log("请求结果:" + text);
              Root root = JsonMapper.ToObject<Root>(text);
              JsonData jsonData = JsonMapper.ToObject(text);
              for (int i = 0; i < root.GetDatas.Count; i++)
              {
                  Debug.Log(root.GetDatas[i].GetDevStatus);
              }
             
        }));


    }
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2026-05-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档