反序列化未知类型的JSON(Google Map API) - c#

我正在尝试使用Google Maps API。该网址正是我所需要的:

http://maps.googleapis.com/maps/api/geocode/json?address=77379

看一下结果。它具有我需要的所有信息...纬度,经度,州,国家。麻烦的是,我不知道如何提取这些数据。我尝试了这个:

var client = new WebClient();
var content = client.DownloadString("http://maps.googleapis.com/maps/api/geocode/json?address=77379");
object myObject = JsonConvert.DeserializeObject(content);

虽然这不会出错,但myObject最终没有任何用处。 (或者,也许是,我只是不知道?)

反序列化未知类型的JSON(Google Map API) - c#

参考方案

这是你的班级结构

public class AddressComponent
    {
        public string long_name { get; set; }
        public string short_name { get; set; }
        public List<string> types { get; set; }
    }

public class Northeast
{
    public double lat { get; set; }
    public double lng { get; set; }
}

public class Southwest
{
    public double lat { get; set; }
    public double lng { get; set; }
}

public class Bounds
{
    public Northeast northeast { get; set; }
    public Southwest southwest { get; set; }
}

public class Location
{
    public double lat { get; set; }
    public double lng { get; set; }
}

public class Northeast2
{
    public double lat { get; set; }
    public double lng { get; set; }
}

public class Southwest2
{
    public double lat { get; set; }
    public double lng { get; set; }
}

public class Viewport
{
    public Northeast2 northeast { get; set; }
    public Southwest2 southwest { get; set; }
}

public class Geometry
{
    public Bounds bounds { get; set; }
    public Location location { get; set; }
    public string location_type { get; set; }
    public Viewport viewport { get; set; }
}

public class Result
{
    public List<AddressComponent> address_components { get; set; }
    public string formatted_address { get; set; }
    public Geometry geometry { get; set; }
    public string place_id { get; set; }
    public List<string> postcode_localities { get; set; }
    public List<string> types { get; set; }
}

public class RootObject
{
    public List<Result> results { get; set; }
    public string status { get; set; }
}

而你要做

RootObject rootObject = new JavaScriptSerializer().Deserialize<RootObject>(content);

如果您希望使用其他方法,请尝试参考此stackoverflow发布
Deserialize JSON with C#

Google Distance Matrix API-火车距离 - java

我正在使用带有Java的Google Distance Matrix API。我想计算两个城市之间的火车距离。其中一个城市没有火车站。问题是,谷歌不只是计算火车距离。它始终会增加从没有火车站的城市到有火车站的下一个城市的汽车行驶距离。但是对于我的项目,我只需要火车距离。这是我的代码的一部分:DistanceMatrix matrix = DistanceMa…

Google Calendar API未收到确认响应 - java

我们已经在Java中完成了Google Calendar API的集成,我们能够发送会议请求,并且与会者可以接收该请求。但是,当与会者单击邮件中的“是”或“否”按钮时,响应存在一些问题,组织者将无法获得响应。问题是,当与会者试图接受或拒绝会议时,组织者没有得到回应。 java参考方案 我怀疑您尚未在事件上设置推送notifications,然后将通知您更改并…

重复使用Google Api Bearer令牌来访问用户的云端硬盘 - javascript

我有以下几点: gapi.auth.authorize( { client_id: CLIENT_ID, scope: SCOPES, immediate: false }, handleAuthResult); 这使我可以访问access_token:目标是使该应用程序的用户可以授予对我的应用程序的访问权限,以使用其Google驱动器存储其内容。我需要能够…

Google Analytics API fromdate,todate。如何从开始跟踪时开始? - c#

我是C#的新手,正在创建一个控制台应用程序,该应用程序使用API​​连接到Google Analytics(分析)。我知道了,因此它可以将控制台中捕获的数据写入并导出为CSV,但是我在这里指定了日期:static void Main(string[] args) { Authenticate(); **getVisits("2013-01-01&#…

Google Analytics PHP API:找不到目标 - php

在我公司,我们决定使用Google Analytics(分析)来获取有关访问者,进入渠道等的一些有趣指标...当访问者提交联系表单时,我创建了一个“触发”的目标,一切工作正常,我什至创建了一个细分来预览使用该表单的人与其他人之间的区别。使用PHP API,我有自己的仪表板表,其中逐个列出了每个会话的一些详细信息,其中包括:每个访问的URL约会时间如果来自Ad…