以下是获得所需内容的步骤:
- 将您的JSON发布到http://json2csharp.com/中。采取结果类并合并重复项,您将得到:
public class AddressComponent { public string long_name { get; set; } public string short_name { get; set; } public List<string> types { get; set; } } public class Bounds { public Location northeast { get; set; } public Location southwest { get; set; } } public class Location { public double lat { get; set; } public double lng { get; set; } } public class Geometry { public Bounds bounds { get; set; } public Location location { get; set; } public string location_type { get; set; } public Bounds 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 bool partial_match { get; set; } public List<string> types { get; set; } } public class RootObject { public List<Result> results { get; set; } public string status { get; set; } }
(您还可以使用JSON作为类粘贴或https://jsonutils.com/来生成初始类型定义。)
使用Json.NET反序列化JSON,如下所示:
var root = JsonConvert.DeserializeObject<RootObject>(result);
您的查询返回了多个结果,因此您需要像这样循环遍历返回的位置:
foreach (var singleResult in root.results){ var location = singleResult.geometry.location; var latitude = location.lat; var longitude = location.lng; // Do whatever you want with them.}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)