Unity Webgl使用GET/POST获取服务器数据,对JSON数据进行解析

需求分析

打包发布后的webgl需要使用GET/POST获取到服务器数据,对获取到的服务器数据进行解析

实现方法

此实现方法需要使用UnityWebRequest类(用于与Web服务器通信,处理HTTP与Web服务器通信流程),在脚本中引用 using UnityEngine.Networking;命名空间即可使用UnityWebRequest类。如果获取到的数据类型是json时,需要对json数据进行解析,这里使用LitJSON.dll,获取链接:https://pan.baidu.com/s/1MCr36hQd5PzhXiM6UdqLWQ 提取码:sj5i

代码

IEnumerator GetData()
    {
        yield return new WaitForSeconds(10);//多久获取一次数据,这里10秒获取一次
        UnityWebRequest unityWebRequest = UnityWebRequest.Get("你的接口地址");
        unityWebRequest.SetRequestHeader("Content-Type", "application/json;charset=utf-8");
        unityWebRequest.downloadHandler = new DownloadHandlerBuffer();
        yield return unityWebRequest.SendWebRequest();
        if (unityWebRequest.isDone)
        {
            string result = unityWebRequest.downloadHandler.text;
            Debug.Log(result);//调试使用,不出错时可删除

            //当数据格式为json时
            JsonData jsdata = JsonMapper.ToObject(result);//解析获取到的Json数据
            Data.name =  jsdata["result"]["name"].ToString();//Data为你需要存储解析数据的类,自己命名即可
         //当获取到的数据为列表时,可使用双重for循环进行解析,数据如:
   /*       { 
    "success": true,
    "message": "操作成功!",
    "code": 200,
    "result": {
    "List":{
       "1":[{"age":10,"name":null},
            {"age":12,"name":null},
            {"age":13,"name":null},
           ],
       "2":[{"age":10,"name":null},
            {"age":12,"name":null},
            {"age":13,"name":null},
           ],
        ......
         }
       }   
      }*/
//解析方法:
List<int> age = new List<int>(6);//知道数据数量情况下。建议直接声明List大小
for(int i=0;i<2;i++){
for(int j=0;j<3;j++){
age.Add(int.Parse(jsdata["result"][i][j]["age"].ToString()));
     }
   }
  }
}

  • 22
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值