using GpsCardGatewayPosition.Common.Helper; using Newtonsoft.Json.Linq; using Newtonsoft.Json; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace GpsCardGatewayPosition.Service.Biz.Location.Dto.Gaode { //高德接口返回的json对字符串的处理比较特殊,空字符串是用[]表示 public class GaodeGpsResponseInfo { [JsonProperty("status")] [JsonConverter(typeof(StringJsonConvert))] public string Status { get; set; } [JsonProperty("regeocode")] public RegeoCodeDetails Regeocode { get; set; } [JsonProperty("info")] [JsonConverter(typeof(StringJsonConvert))] public string Info { get; set; } [JsonProperty("infocode")] [JsonConverter(typeof(StringJsonConvert))] public string Infocode { get; set; } public class RegeoCodeDetails { [JsonProperty("roads")] public IEnumerable<RegeoCodeRoadDetails> Roads { get; set; } [JsonProperty("roadinters")] public IEnumerable<RegeoCodeRoadinterDetails> Roadinters { get; set; } [JsonProperty("formatted_address")] [JsonConverter(typeof(StringJsonConvert))] public string FormattedAddress { get; set; } [JsonProperty("addressComponent")] public RegeoCodeAddressComponentDetails AddressComponent { get; set; } [JsonProperty("aois")] public IEnumerable<JObject> Aois { get; set; } [JsonProperty("pois")] public IEnumerable<JObject> Pois { get; set; } } public class RegeoCodeRoadDetails { [JsonProperty("id")] [JsonConverter(typeof(StringJsonConvert))] public string Id { get; set; } [JsonProperty("location")] [JsonConverter(typeof(StringJsonConvert))] public string Location { get; set; } [JsonProperty("direction")] [JsonConverter(typeof(StringJsonConvert))] public string Direction { get; set; } [JsonProperty("name")] [JsonConverter(typeof(StringJsonConvert))] public string Name { get; set; } [JsonProperty("distance")] [JsonConverter(typeof(StringJsonConvert))] public string Distance { get; set; } } public class RegeoCodeRoadinterDetails { [JsonProperty("second_name")] [JsonConverter(typeof(StringJsonConvert))] public string SecondName { get; set; } [JsonProperty("first_id")] [JsonConverter(typeof(StringJsonConvert))] public string FirstId { get; set; } [JsonProperty("second_id")] [JsonConverter(typeof(StringJsonConvert))] public string SecondId { get; set; } [JsonProperty("location")] [JsonConverter(typeof(StringJsonConvert))] public string Location { get; set; } [JsonProperty("distance")] [JsonConverter(typeof(StringJsonConvert))] public string Distance { get; set; } [JsonProperty("first_name")] [JsonConverter(typeof(StringJsonConvert))] public string FirstName { get; set; } [JsonProperty("direction")] [JsonConverter(typeof(StringJsonConvert))] public string Direction { get; set; } } public class RegeoCodeAoiDetails { [JsonProperty("area")] [JsonConverter(typeof(StringJsonConvert))] public string Area { get; set; } [JsonProperty("type")] [JsonConverter(typeof(StringJsonConvert))] public string Type { get; set; } [JsonProperty("Id")] [JsonConverter(typeof(StringJsonConvert))] public string id { get; set; } [JsonProperty("location")] [JsonConverter(typeof(StringJsonConvert))] public string Location { get; set; } [JsonProperty("adcode")] [JsonConverter(typeof(StringJsonConvert))] public string Adcode { get; set; } [JsonProperty("name")] [JsonConverter(typeof(StringJsonConvert))] public string Name { get; set; } [JsonProperty("distance")] [JsonConverter(typeof(StringJsonConvert))] public string Distance { get; set; } } public class RegeoCodePoiDetails { [JsonProperty("id")] [JsonConverter(typeof(StringJsonConvert))] public string Id { get; set; } [JsonProperty("direction")] [JsonConverter(typeof(StringJsonConvert))] public string Direction { get; set; } [JsonProperty("businessarea")] [JsonConverter(typeof(StringJsonConvert))] public string BusinessArea { get; set; } [JsonProperty("address")] [JsonConverter(typeof(StringJsonConvert))] public string Address { get; set; } [JsonProperty("poiweight")] [JsonConverter(typeof(StringJsonConvert))] public string PoiWeight { get; set; } [JsonProperty("name")] [JsonConverter(typeof(StringJsonConvert))] public string Name { get; set; } [JsonProperty("location")] [JsonConverter(typeof(StringJsonConvert))] public string Location { get; set; } [JsonProperty("distance")] [JsonConverter(typeof(StringJsonConvert))] public string Distance { get; set; } [JsonProperty("tel")] [JsonConverter(typeof(StringJsonConvert))] public string Tel { get; set; } [JsonProperty("type")] [JsonConverter(typeof(StringJsonConvert))] public string Type { get; set; } } public class RegeoCodeAddressComponentDetails { [JsonProperty("city")] [JsonConverter(typeof(StringJsonConvert))] public string City { get; set; } [JsonProperty("province")] [JsonConverter(typeof(StringJsonConvert))] public string Province { get; set; } [JsonProperty("adcode")] [JsonConverter(typeof(StringJsonConvert))] public string Adcode { get; set; } [JsonProperty("district")] [JsonConverter(typeof(StringJsonConvert))] public string District { get; set; } [JsonProperty("towncode")] [JsonConverter(typeof(StringJsonConvert))] public string TownCode { get; set; } [JsonProperty("streetNumber")] [JsonConverter(typeof(StringJsonConvert))] public string StreetNumber { get; set; } [JsonProperty("country")] [JsonConverter(typeof(StringJsonConvert))] public string Country { get; set; } [JsonProperty("township")] [JsonConverter(typeof(StringJsonConvert))] public string Township { get; set; } [JsonProperty("businessAreas")] public IEnumerable<object> BusinessAreas { get; set; } [JsonProperty("building")] public object Building { get; set; } [JsonProperty("neighborhood")] public object Neighborhood { get; set; } [JsonProperty("citycode")] [JsonConverter(typeof(StringJsonConvert))] public string CityCode { get; set; } } } }