Well, you have to deserialize json data that you got from the web Service. You have to define two new classes, namely:
[DataContract]
public class Address
{
[DataMember]
public string road { get; set; }
[DataMember]
public string suburb { get; set; }
[DataMember]
public string city { get; set; }
[DataMember]
public string state_district { get; set; }
[DataMember]
public string state { get; set; }
[DataMember]
public string postcode { get; set; }
[DataMember]
public string country { get; set; }
[DataMember]
public string country_code { get; set; }
}
[DataContract]
public class RootObject
{
[DataMember]
public string place_id { get; set; }
[DataMember]
public string licence { get; set; }
[DataMember]
public string osm_type { get; set; }
[DataMember]
public string osm_id { get; set; }
[DataMember]
public string lat { get; set; }
[DataMember]
public string lon { get; set; }
[DataMember]
public string display_name { get; set; }
[DataMember]
public Address address { get; set; }
}
After that you will able to get the data by using this code:
WebClient webClient = new WebClient();
var jsonData = webClient.DownloadData("http://nominatim.openstreetmap.org/reverse?format=json&lat=23.02951&lon=72.48689");
DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(RootObject));
var rootObject = ser.ReadObject(new MemoryStream(jsonData));
rootObject contains all data that you need, in order to convert it to plain text or any other format.