foreach循环以获取JSON值 [英] foreach loop to fetch JSON value
本文介绍了foreach循环以获取JSON值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试获取JSON结果的所有纬度和经度。
JSON结果(有很多记录):
结果:[
{
geometry:{
location:{
lat:28.637255,
lng:77.05202800000001
}
},
icon:http://maps.gstatic.com/mapfiles/place_api/icons/generic_business-71.png,
id:aef56d078ec3fcab6f4a966bd944d3d59973bd72 ,
name:Homeopati Kendra,
opening_hours:{
open_now:false,
weekday_text:[]
},
place_id: ChIJQavdFRwFDTkRMRAhjCbIOnI,
参考: CnRjAAAAwCoBEGDvsL4KeQNPyT2OsVF82b7FChIpUHRFQvGg8b1eR7FCv9I1nUPn0lFf50OVG9ug1PevkcZG813Lq9AAe1dK5GCgn99ajpQ1it9lafCwX3SaUwtiinLiepgptdHNz3NgDzhpVIx70a2D1KZcchIQvD4OS73_Jmr2wYQg4jtRjxoUjCnGT2M4XzDIXadJOtgA-LgRNR4,
范围:GOOGLE,
类型:[医院,健康,建立],
附近:C-29,Vikas Nagar,Uttam Nagar,Vikas Nagar Extn,Hastsal,新德里
},
特定记录(先记录):
JObject obj = JObject.Parse(googleResult);
JArray jarr =(JArray)obj [ results];
double lt =( double )jarr [ 0 ] [ geometry] [ location] [ lat 跨度>];
double lg =( double )jarr [ 0 ] [ geometry] [ location] [ lng ];
用于获取所有记录:
foreach ( var item in jarr)
{
double lt = Convert.ToDouble(item [jarr [ geometry] [ location] [ lat]]);
}
对于获取一条记录,它可以正常工作,但对于所有记录都不起作用。
解决方案
< blockquote>
double lt =( double )item.SelectToken( geometry.location.lat);
I am trying to fetch all the latitude and longitude of my JSON result.
JSON Result (have many records):
"results" : [
{
"geometry" : {
"location" : {
"lat" : 28.637255,
"lng" : 77.05202800000001
}
},
"icon" : "http://maps.gstatic.com/mapfiles/place_api/icons/generic_business-71.png",
"id" : "aef56d078ec3fcab6f4a966bd944d3d59973bd72",
"name" : "Homeopati Kendra",
"opening_hours" : {
"open_now" : false,
"weekday_text" : []
},
"place_id" : "ChIJQavdFRwFDTkRMRAhjCbIOnI",
"reference" : "CnRjAAAAwCoBEGDvsL4KeQNPyT2OsVF82b7FChIpUHRFQvGg8b1eR7FCv9I1nUPn0lFf50OVG9ug1PevkcZG813Lq9AAe1dK5GCgn99ajpQ1it9lafCwX3SaUwtiinLiepgptdHNz3NgDzhpVIx70a2D1KZcchIQvD4OS73_Jmr2wYQg4jtRjxoUjCnGT2M4XzDIXadJOtgA-LgRNR4",
"scope" : "GOOGLE",
"types" : [ "hospital", "health", "establishment" ],
"vicinity" : "C-29 , Vikas Nagar,Uttam Nagar, Vikas Nagar Extn, Hastsal, New Delhi"
},
for particular record (say record first):
JObject obj = JObject.Parse(googleResult);
JArray jarr = (JArray)obj["results"];
double lt = (double)jarr[0]["geometry"]["location"]["lat"];
double lg = (double)jarr[0]["geometry"]["location"]["lng"];
for fetching all records:
foreach(var item in jarr)
{
double lt = Convert.ToDouble(item[jarr["geometry"]["location"]["lat"]]);
}
For fetching one record it works fine but for all records its not working.
解决方案
double lt = (double)item.SelectToken("geometry.location.lat");
这篇关于foreach循环以获取JSON值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文