限 时 特 惠: 本站每日持续稳定更新内部创业教程,一年会员只需98元,全站资源免费下载 点击查看详情
站 长 微 信: muyang-0410

正文

天气API

本文选择的是百度地图的API:

,点进官方界面,选择服务文档,页面中会有操作提示。

在请求参数的表格里可以查看要获取的行政区编码,点击行政区编码,会自动下载一个excel文件,可以找到想查询地区的id。

litjson_litJson支持字典吗_litJson字典

在ak一栏,申请开发者账号便会有一个开发者密钥。

将行政区划编码和开发者密钥填入基础服务的api对应位置上,便可以获取天气信息了。

获取信息

链接打开会是一段很长的Json字符串,可以通过Json在线解析网站:

对代码进行解析,可以看到解析出来就是想要的天气信息,接下来就要根据这些信息来写一个数据类用来接收这些数据。

1.编写数据类

通过解析出来的代码可以看出,数据是有层级关系的,在上面这张图中,最高的一层是最外面的括号,下一层是,,litjson,下一层有,now,,的下一层就有,,city,name,id这些信息,在编辑数据类是也要根据这些层级关系来写。

举例部分

    public class CityData
  {

     public Result result;
  }
  public class Result
  {

   public Location location;
  }
  public class Location
  {

      public string country;
      public string province;
      public string city;
      public string name;
      public string id;
  }

注意:不需要的数据可以不写。

2.下载并导入json库,下载地址:。找到下载路径

(-src)下的文件夹,直接拖入Unity中。

3.在脚本中声明地区的天气查询地址litjson,添加如下代码,运行后Log里会显示天气信息以及城市信息。

  IEnumerator RequestCityName()
      {
    using (UnityWebRequest request = UnityWebRequest.Get(url))
    {
        yield return request.SendWebRequest();
        yield return request;
        if (request.isNetworkError || request.isHttpError)
        {
            Debug.Log("NetWork Error");
        }
        else
        {
            CityData cData = LitJson.JsonMapper.ToObject(request.downloadHandler.text);
            Debug.Log(request.downloadHandler.text);
            Debug.Log(cData.result.location.city);
        }
      }
    }

效果如下:

.Get( url);是用于从URL中检索数据的对象,使用这个方法前要在命名空间中添加using .,官方介绍文档:

,是用于管理和处理从远程服务器接收的 HTTP 响应主体数据。

官方介绍文档:

交流群:

litJson支持字典吗_litJson字典_litjson

限 时 特 惠: 本站每日持续稳定更新内部创业教程,一年会员只需98元,全站资源免费下载 点击查看详情
站 长 微 信: muyang-0410