当前位置:   article > 正文

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

unity webgal json

需求分析

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

实现方法

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

代码

  1. IEnumerator GetData()
  2. {
  3. yield return new WaitForSeconds(10);//多久获取一次数据,这里10秒获取一次
  4. UnityWebRequest unityWebRequest = UnityWebRequest.Get("你的接口地址");
  5. unityWebRequest.SetRequestHeader("Content-Type", "application/json;charset=utf-8");
  6. unityWebRequest.downloadHandler = new DownloadHandlerBuffer();
  7. yield return unityWebRequest.SendWebRequest();
  8. if (unityWebRequest.isDone)
  9. {
  10. string result = unityWebRequest.downloadHandler.text;
  11. Debug.Log(result);//调试使用,不出错时可删除
  12. //当数据格式为json时
  13. JsonData jsdata = JsonMapper.ToObject(result);//解析获取到的Json数据
  14. Data.name = jsdata["result"]["name"].ToString();//Data为你需要存储解析数据的类,自己命名即可
  15. //当获取到的数据为列表时,可使用双重for循环进行解析,数据如:
  16. /* {
  17. "success": true,
  18. "message": "操作成功!",
  19. "code": 200,
  20. "result": {
  21. "List":{
  22. "1":[{"age":10,"name":null},
  23. {"age":12,"name":null},
  24. {"age":13,"name":null},
  25. ],
  26. "2":[{"age":10,"name":null},
  27. {"age":12,"name":null},
  28. {"age":13,"name":null},
  29. ],
  30. ......
  31. }
  32. }
  33. }*/
  34. //解析方法:
  35. List<int> age = new List<int>(6);//知道数据数量情况下。建议直接声明List大小
  36. for(int i=0;i<2;i++){
  37. for(int j=0;j<3;j++){
  38. age.Add(int.Parse(jsdata["result"][i][j]["age"].ToString()));
  39. }
  40. }
  41. }
  42. }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/123380
推荐阅读
相关标签
  

闽ICP备14008679号