<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      Unity使用Get和Post傳遞json數(shù)據(jù)并轉(zhuǎn)換成class對(duì)象

      此文寫(xiě)的并不是使用UnityRequest等等Unity自帶的方法。

      1、Get方法

              public static async Task<string> DoGet(string requestUrl, string parms)
              {
                  string reslut = "";
                  string uri = ""; // url + "?" + parms;
                  if (string.IsNullOrEmpty(parms))
                  {
                      uri = requestUrl;
                  }
                  else
                  {
                      uri = requestUrl + "?" + parms;
                  }
      
                  string responseBody = string.Empty;
                  using (HttpClient httpClient = new HttpClient())
                  {
                      httpClient.DefaultRequestHeaders.Add("Method", "Get");
                      httpClient.DefaultRequestHeaders.Add("KeepAlive", "false");
                      httpClient.DefaultRequestHeaders.Add("UserAgent", "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11");
      
                      HttpResponseMessage response = await httpClient.GetAsync(uri);
                      response.EnsureSuccessStatusCode();
                      responseBody = await response.Content.ReadAsStringAsync();
                  }
                  return responseBody;
              }
      

        調(diào)用:

        string u2 = "http://" + ip + "/api/WeatherForecast/GetGameList";
                  string data2 = await HttpHelper.DoGet(u2, "");
       類(lèi)名 info = JsonConvert.DeserializeObject<類(lèi)名>(data2);

       

      2、Post

              public static async Task<string> DoPost(string Url, object message)
              {
                  try
                  {
                      //var res = new T();
                      string jsonContent = message == null ? "" : JsonConvert.SerializeObject(message);
                      string responseBody = string.Empty;
                      using (HttpClient httpClient = new HttpClient())
                      {
                          var content = new StringContent(jsonContent, Encoding.UTF8, "application/json");
                          httpClient.DefaultRequestHeaders.Add("Method", "Post");
      
                          HttpResponseMessage response = await httpClient.PostAsync(Url, content);
                          response.EnsureSuccessStatusCode();
                          responseBody = await response.Content.ReadAsStringAsync();
                          //res = (T)JsonConvert.DeserializeObject<T>(responseBody);
                          return responseBody;
                      }
                  }
                  catch (Exception ex)
                  {
      
                      return "";
                  }
      
      
              }

      調(diào)用:

              string js = await HttpHelper.DoPost(@"https://****", null);
                  //JObject? result = JsonConvert.DeserializeObject<JObject>(js);
                  類(lèi)名 info = JsonConvert.DeserializeObject<類(lèi)名>(js);

       

      這樣寫(xiě)主要是省了回調(diào),省得使用消息者模式消息滿(mǎn)天飛。

      注意使用await等待時(shí),主線(xiàn)程不會(huì)鎖死,而使用await時(shí),當(dāng)前的方法前要加上async,例子如下。

       

            public async void GetPostData()
              {
                  string js = await HttpHelper.DoPost(@"***********", null);
                  //JObject? result = JsonConvert.DeserializeObject<JObject>(js);
                  PkgInfo info = JsonConvert.DeserializeObject<PkgInfo>(js);
              }

       

      在把json數(shù)據(jù)轉(zhuǎn)換成類(lèi)對(duì)象之前,如果需要校驗(yàn),則使用如下方式:

              public async void GetPostData()
              {
                  string js = await HttpHelper.DoPost(@"***********************", null);
                  JObject result = JsonConvert.DeserializeObject<JObject>(js);
                  string errcode = result["errcode"]?.ToString();
                  string errmsg = result["errmsg"]?.ToString();
              //先驗(yàn)證errcode之后,再根據(jù)情況進(jìn)行類(lèi)對(duì)象的轉(zhuǎn)換。 PkgInfo info
      = JsonConvert.DeserializeObject<PkgInfo>(js); }

       

      posted @ 2023-01-03 11:41  威少小二orz  閱讀(618)  評(píng)論(0)    收藏  舉報(bào)
      主站蜘蛛池模板: 国产卡一卡二卡三免费入口| 中文字幕乱码熟妇五十中出| 国产精品爽爽va在线观看网站| 亚洲中文一区二区av| 高清不卡一区二区三区| 欧美精品在线观看视频| 国产免费性感美女被插视频| 亚洲最大的成人网站| 亚洲蜜臀av乱码久久| 国产精品久久久久av福利动漫 | 国产成人精品久久一区二区| 日韩不卡1卡2卡三卡网站| 柳林县| 亚洲综合国产激情另类一区| 国产精品一区在线蜜臀| 午夜福利日本一区二区无码| 国产女人喷潮视频免费| 九九热免费在线视频观看| 扒开双腿猛进入喷水高潮叫声| 乱中年女人伦av三区 | 老司机精品成人无码AV| 国产一区二区三区激情视频| 欧美日本在线一区二区三区| Y111111国产精品久久久| 久久三级国内外久久三级| 男女男免费视频网站国产| 国产乱啊有帅gv小太正| 中文字幕 日韩 人妻 无码| 国产成人片无码视频在线观看| 国产午夜影视大全免费观看| 少妇极品熟妇人妻无码| 不卡一区二区三区四区视频| 国产精品久久露脸蜜臀| av男人的天堂在线观看国产| 亚洲天堂一区二区三区四区| 亚洲精品一区二区妖精| 巴彦淖尔市| 免费超爽大片黄| 99久久国产综合精品成人影院| 亚洲国产在一区二区三区| 性做久久久久久久|