0
由於WP不支持Youtube API,因此我選擇使用JSON響應。似乎Youtube已經改變了JSON-C的響應類型,我怎麼解析這個?如何在.net中解析JSON-C
我試過Newtonsoft JSON,但它不支持,要麼,有什麼建議?謝謝!
由於WP不支持Youtube API,因此我選擇使用JSON響應。似乎Youtube已經改變了JSON-C的響應類型,我怎麼解析這個?如何在.net中解析JSON-C
我試過Newtonsoft JSON,但它不支持,要麼,有什麼建議?謝謝!
你可以試試下面的代碼。我已將json數據保存爲文本文件。使用jsonCsharp你可以生成模型類。 http://json2csharp.com/
var json = System.IO.File.ReadAllText(@"C:\json.txt"); //get json data
var result = JsonConvert.DeserializeObject<RootObject>(json);
public class PageInfo
{
public int totalResults { get; set; }
public int resultsPerPage { get; set; }
}
public class Id
{
public string kind { get; set; }
public string channelId { get; set; }
public string videoId { get; set; }
}
public class Default
{
public string url { get; set; }
}
public class Medium
{
public string url { get; set; }
}
public class High
{
public string url { get; set; }
}
public class Thumbnails
{
public Default @default { get; set; }
public Medium medium { get; set; }
public High high { get; set; }
}
public class Snippet
{
public string publishedAt { get; set; }
public string channelId { get; set; }
public string title { get; set; }
public string description { get; set; }
public Thumbnails thumbnails { get; set; }
public string channelTitle { get; set; }
}
public class Item
{
public string kind { get; set; }
public string etag { get; set; }
public Id id { get; set; }
public Snippet snippet { get; set; }
}
public class RootObject
{
public string kind { get; set; }
public string etag { get; set; }
public PageInfo pageInfo { get; set; }
public string nextPageToken { get; set; }
public List<Item> items { get; set; }
}
JSON-C只是JSON。任何JSON解析器都應該完美工作。 –
這是我得到的錯誤: 因爲類型需要一個JSON數組(例如[1,2,3,4, 2,3])來正確地反序列化。 要修復此錯誤,請將JSON更改爲JSON數組(例如[1,2,3])或更改反序列化類型,以使其成爲正常的.NET類型(例如,不是像整數這樣的基本類型,也不是集合類型如數組或列表),可以從JSON對象反序列化。 JsonObjectAttribute也可以添加到類型中,以強制它從JSON對象反序列化。 –
KPS