当前位置: 首页 > backend >正文

UnityWebRequest 数据获取和提交

文件读取

using UnityWebRequest request = UnityWebRequest.Get(filePath);
yield return request.SendWebRequest();
if (string.IsNullOrEmpty(request.error))
{string content = request.downloadHandler.text;//string patternInt = "(\"KEY\".?:)([^,}]*)";string patternString = "(\"KEY\".?:.?\")(.*?)\"";//string pattern = patternInt.Replace("KEY", key);string pattern = patternString.Replace("KEY", key);Regex regex = new Regex(pattern);Match match = regex.Match(content);value = match.Success ? match.Groups[2].ToString().Trim() : string.Empty;
}
else
{Debug.Log("Error");
}

Get

using UnityWebRequest request = UnityWebRequest.Get(url);
request.SetRequestHeader("x", "x");
request.SetRequestHeader("xx", "xx");
request.SetRequestHeader("xxx", "xxx");
yield return request.SendWebRequest();
//if (request.isNetworkError || request.isHttpError)
if (request.result == UnityWebRequest.Result.ConnectionError || request.result == UnityWebRequest.Result.ProtocolError)
{Debug.Log("Error");
}
else
{Debug.Log(request.downloadHandler.text);
}

Post by WWWForm

WWWForm form = new WWWForm();
form.AddField("x", "x");
form.AddField("xx", "xx");
form.AddField("xxx", "xxx");
using UnityWebRequest request = UnityWebRequest.Post(url, form);
request.SetRequestHeader("x", "x");
request.SetRequestHeader("xx", "xx");
request.SetRequestHeader("xxx", "xxx");
yield return request.SendWebRequest();
//if (request.isNetworkError || request.isHttpError)
if (request.result == UnityWebRequest.Result.ConnectionError || request.result == UnityWebRequest.Result.ProtocolError)
{Debug.Log("Error");
}
else
{Debug.Log(request.downloadHandler.text);
}

Post by Json

json = JsonUtility.ToJson(data);
using UnityWebRequest request = new UnityWebRequest(url, "POST");
if (!string.IsNullOrEmpty(json))
{byte[] bytes = System.Text.Encoding.Default.GetBytes(json);request.uploadHandler = (UploadHandler)new UploadHandlerRaw(bytes);
}
request.SetRequestHeader("Content-Type", "application/json");
request.SetRequestHeader("charset", "utf-8");
request.SetRequestHeader("x", "x");
request.SetRequestHeader("xx", "xx");
request.SetRequestHeader("xxx", "xxx");
yield return request.SendWebRequest();
//if (request.isNetworkError || request.isHttpError)
if (request.result == UnityWebRequest.Result.ConnectionError || request.result == UnityWebRequest.Result.ProtocolError)
{Debug.Log("Error");
}
else
{Debug.Log(request.downloadHandler.text);
}

数据简单处理

例:

数据类

[Serializable]
public class ResultData
{public string message;public ListData data;
}
[Serializable]
public class ListData
{public string key;public List<Example> examples = new List<Example>();
}
[Serializable]
public class Example
{public string example;
}

JsonUtility.FromJson

ResultData resultData = JsonUtility.FromJson<ResultData>(result);
Debug.Log(resultData.data.examples[0].example);

JsonConvert.DeserializeObject

JObject keyValuePairs = JsonConvert.DeserializeObject<JObject>(result);
foreach (var item in jObj)
{if (item.Key == "data"){dataContent = item.Value;break;}
}
keyValuePairs = JsonConvert.DeserializeObject<JObject>(dataContent);
JArray jArray = JsonConvert.DeserializeObject<JArray>(keyValuePairs["list"].ToString());
for (int i = 0; i < jArray.Count; i++)
{if (!string.IsNullOrEmpty(itemData)){Example example = JsonConvert.DeserializeObject<Example>(itemData);list.Add(example);}
}
Debug.Log(list[0].example);
http://www.xdnf.cn/news/19789.html

相关文章:

  • wpf 只能输入int类型的文本框
  • WebSocket客户端库:websocket-fruge365
  • Ubuntu下把 SD 卡格式化为 FAT32
  • Hostol Magento电商服务器套餐:基于阿里云,预配置高性能环境,一键开店
  • 如何用java给局域网的电脑发送开机数据包
  • B样条曲线,已知曲线上的某个点到起点的距离,确定这个点的参数u的值的方法
  • 新手向:破解VMware迁移难题
  • MP4视频太大如何压缩?分享6种简单便捷的压缩小技巧
  • websocket用于控制在当前页只允许一个用户进行操作,其他用户等待
  • 硬件(一)51单片机
  • 阿里开源首个图像生成基础模型——Qwen-Image本地部署教程,中文渲染能力刷新SOTA
  • HTTP 协议核心组件与安全扩展深度解析
  • 机器学习与深度学习的 Python 基础之 NumPy(2)
  • uniapp+vue3 微信小程序全屏广告组件功能
  • AI IDE+AI 辅助编程,真能让程序员 “告别 996” 吗?
  • 【LeetCode_283】移动零
  • 技术小白如何快速的了解opentenbase?--把握四大特色
  • XE 旧版本 JSON 处理
  • 使用 Uni-app 打包 外链地址APK 及 iOS 注意事项
  • K8S-基础架构
  • 离开职场2个月,后知后觉的反思。
  • 素材合集!直播间带货音乐BGM合集,抖音直播间常用热门音乐合集,根据中文分类,方便查找
  • 力扣hot100:矩阵置零(73)(原地算法)
  • 【Python语法基础学习笔记】类的定义和使用
  • WSL + VSCode + Git + Node.js 开发环境配置文档
  • python数据分析 与spark、hive数据分析对比
  • 使用pyspark对上百亿行的hive表生成稀疏向量
  • 2025年COR IOTJ SCI2区,灾后通信无人机基站位置优化和移动充电无人机路径规划,深度解析+性能实测
  • Android aoap开发常见问题之package_allowed_list.txt导致的编译报错
  • 深度学习------模型的保存和使用