c# iterate through json
本文关键字:json through iterate | 更新日期: 2023-09-27 18:03:42
目前我正在用c#开发soundcloud下载器。在SoundCloud API的帮助下,我得到了一个播放列表的JSON字符串,其中包含了许多曲目的信息:
http://pastebin.com/HfrjqyJE我试过了:
JObject results = JObject.Parse(e.Result);
foreach (var result in results["tracks"])
{
string streamUrl = (string)result["stream_url"];
string title = (string)result["title"];
}
它可以工作,但它需要大约20秒来迭代只有2首曲目的播放列表。有没有一种方法可以让这个迭代过程更快?
也许使用JProperty在属性上循环,性能更好?
string json = "{a: 10, b: 'aaaaaa', c: 1502}";
JObject parsedJson = JObject.Parse(json);
foreach (JProperty property in parsedJson.Properties())
{
Console.WriteLine(string.Format("Name: [{0}], Value: [{1}].", property.Name, property.Value));
}
你可以尝试使用Newtonsoft JSON Deserializer
对于您的情况,您可以这样做:
-
创建具有所需属性的Track类
-
应用DeserializeObject
Track jsonObject = JsonConvert.DeserializeObject<Track >(json);
-
遍历jsonObject