2010-09-24 3 views

ответ

0

Сочетание WebClient и JavaScriptSerializer классов могли бы помочь вам. Как всегда начинается с определения класса, который будет представлять модель:

public class LocationResult 
{ 
    public string Ip { get; set; } 
    public string Status { get; set; } 
    public string CountryCode { get; set; } 
    public string CountryName { get; set; } 
    public string RegionCode { get; set; } 
    public string RegionName { get; set; } 
    public string City { get; set; } 
    public string ZipPostalCode { get; set; } 
    public float Latitude { get; set; } 
    public float Longitude { get; set; } 
} 

и затем вызвать службу и десериализации результат JSON обратно в модель:

public LocationResult GetLocationInfo(string ip) 
{ 
    using (var client = new WebClient()) 
    { 
     // query the online service provider and fetch the JSON 
     var json = client.DownloadString(
      "http://ipinfodb.com/ip_query.php?ip=" + ip + 
      "&output=json&timezone=false" 
     ); 

     // use the JavaScriptSerializer to deserialize the JSON 
     // result back to a LocationResult 
     var serializer = new JavaScriptSerializer(); 
     return serializer.Deserialize<LocationResult>(json); 
    } 
} 
Смежные вопросы