繁体   English   中英

C#遍历JSON

[英]c# iterate through json

目前,我正在使用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

对于您的情况,您可以执行以下操作:

  1. 创建具有所需属性的Track类

  2. 套用DeserializeObject

     Track jsonObject = JsonConvert.DeserializeObject<Track >(json); 
  3. 遍历jsonObject

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM