目前我正在使用C#中的soundcloud下载程序。在SoundCloud API的帮助下,我得到一个播放列表的JSON字符串,其中包含大量的曲目信息:
我尝试过:
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个曲目的播放列表。有没有办法让这个迭代过程更快?
答案 0 :(得分:1)
也许使用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));
}
答案 1 :(得分:0)
您可以尝试使用Newtonsoft JSON Deserializer。
对于您的情况,您可以这样做:
创建具有所需属性的Track类
应用DeserializeObject
> Get-ChildItem -Recurse -Directory | ? { Test-Path ($_.FullName + "\*.log") }
| Select-Object FullName
迭代jsonObject