我有一个非常简单的C#程序,它可以进行URL调用并检索jSON字符串。这工作正常。如何从JSON中使用jSON.NET和JObject.Parse提取值
static void Main(string[] args)
{
using (var webClient = new System.Net.WebClient())
{
var json = webClient.DownloadString("http://maps.google.com/maps/api/geocode/json?address=Oak%20Openings%20Metro%20Park%20Ohio&sensor=false);
var obj = JObject.Parse(json);
}
}
的JSON返回如下所示:
{
"results" : [
{
"address_components" : [
{
"long_name" : "Oak Openings Preserve Metropark",
"short_name" : "Oak Openings Preserve Metropark",
"types" : [ "establishment" ]
},
{
"long_name" : "Girdham Road",
"short_name" : "Girdham Rd",
"types" : [ "route" ]
},
{
"long_name" : "Swanton",
"short_name" : "Swanton",
"types" : [ "locality", "political" ]
},
{
"long_name" : "Ohio",
"short_name" : "OH",
"types" : [ "administrative_area_level_1", "political" ]
},
{
"long_name" : "United States",
"short_name" : "US",
"types" : [ "country", "political" ]
},
{
"long_name" : "43558",
"short_name" : "43558",
"types" : [ "postal_code" ]
}
],
"formatted_address" : "Oak Openings Preserve Metropark, Girdham Road, Swanton, OH 43558, USA",
"geometry" : {
"bounds" : {
"northeast" : {
"lat" : 41.5828434,
"lng" : -83.82480509999999
},
"southwest" : {
"lat" : 41.5286092,
"lng" : -83.8826873
}
},
"location" : {
"lat" : 41.5517744,
"lng" : -83.85260359999999
},
"location_type" : "APPROXIMATE",
"viewport" : {
"northeast" : {
"lat" : 41.5828434,
"lng" : -83.82480509999999
},
"southwest" : {
"lat" : 41.5286092,
"lng" : -83.8826873
}
}
},
"partial_match" : true,
"types" : [ "park", "establishment" ]
},
{
"address_components" : [
{
"long_name" : "Oak Openings Metropark Lodge",
"short_name" : "Oak Openings Metropark Lodge",
"types" : [ "point_of_interest", "establishment" ]
},
{
"long_name" : "5230",
"short_name" : "5230",
"types" : [ "street_number" ]
},
{
"long_name" : "Wilkins Road",
"short_name" : "Wilkins Rd",
"types" : [ "route" ]
},
{
"long_name" : "Whitehouse",
"short_name" : "Whitehouse",
"types" : [ "locality", "political" ]
},
{
"long_name" : "Swanton",
"short_name" : "Swanton",
"types" : [ "administrative_area_level_3", "political" ]
},
{
"long_name" : "Lucas County",
"short_name" : "Lucas County",
"types" : [ "administrative_area_level_2", "political" ]
},
{
"long_name" : "Ohio",
"short_name" : "OH",
"types" : [ "administrative_area_level_1", "political" ]
},
{
"long_name" : "United States",
"short_name" : "US",
"types" : [ "country", "political" ]
},
{
"long_name" : "43571",
"short_name" : "43571",
"types" : [ "postal_code" ]
}
],
"formatted_address" : "Oak Openings Metropark Lodge, 5230 Wilkins Road, Whitehouse, OH 43571, USA",
"geometry" : {
"location" : {
"lat" : 41.5483617,
"lng" : -83.8395838
},
"location_type" : "APPROXIMATE",
"viewport" : {
"northeast" : {
"lat" : 41.5497106802915,
"lng" : -83.83823481970849
},
"southwest" : {
"lat" : 41.5470127197085,
"lng" : -83.84093278029151
}
}
},
"partial_match" : true,
"types" : [ "park", "point_of_interest", "establishment" ]
}
],
"status" : "OK"
}
我很新的JSON,我想从这块提取的纬度和经度值:
"location": {
"lat": 27.9094665,
"lng": -82.7873244
},
但在我调用JObject.Parse之后,真的不知道该如何去做。
可能重复[使用Json.NET来解析由Google Maps API返回的结果](http://stackoverflow.com/questions/7515679/using-json-net-to -parse-result-returned-by-google-maps-api) – 2014-10-05 17:36:28
另请参阅:[使用Json.Net解析Google地图Geocode API](http://stackoverflow.com/q/18021084/10263) – 2014-10-05 17:37:38