[英]C# How to iterate through list for individual API calls
從以下JSON數據中,我想將station_code變量放入列表中。 之后,我想將每個station_code變量用於API URL調用。
{
"request_time": "2015-02-19T08:33:39+00:00",
"stations": [
{
"station_code": "HWV",
"atcocode": null
},
{
"station_code": "HXX",
"atcocode": null
},
{
"station_code": "HAF",
"atcocode": null
}
]
}
這是我嘗試過的C#代碼
dynamic array = JsonConvert.DeserializeObject(json);
dynamic stations = array.stations;
var test = JObject.Parse(json);
var services = test.SelectTokens("stations[*].station_code").Select(t => (string)t).ToList();
JArray items = new JArray();
foreach (JObject station in stations)
{
items.Add(station["station_code"]);
}
int stationLength = 3;
for (int i = 0; i < stationLength; i++)
{
string localJson = get_local_departs("http://transportapi.com/v3/uk/train/station/"+ items[i] + "/live.json?app_id=03bf8009&app_key=d9307fd91b0247c607e098d5effedc97&train_status=passenger");
dynamic localStationArray = JsonConvert.DeserializeObject(localJson);
dynamic departures = localStationArray.departures;
dynamic localStationDeparts = departures.all;
foreach (var depart in localStationDeparts)
{
//info put into data tables
}
}
}
好吧,為什么不能將其轉換為強類型,而使用類似
public class stations
{
public string station_code { get; set; }
public string atcocode {get; set; }
}
public class Data
{
public DateTime request_time {get; set; }
public IEnumerable<stations> Stations {get; set; }
}
var result = JsonConvert.DeserializeObject<Data>(json);
foreach(stations s in result.Stations)
{
Console.WriteLine(s.station_code);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.