2014-01-15 65 views
1

我試圖獲取與WordPress發佈相關的類別和標籤。解析WordPress REST API發佈標籤

這是一個自行安裝的Jetpack插件安裝和工作,所以我使用WordPress.com Rest API進行查詢。

Here's some example JSON這對於/posts

你會注意到,第一篇文章在上面的例子中返回(在寫作的時候)的REST API返回被標記facebookGooglePublicizeSharingtwitter

但是,JSON格式化方式存在一些不一致之處。不是將數組表示爲數組中的每個對象都具有一致的屬性(名稱,段落,描述) - 允許我簡單地迭代數組 - 每個標記似乎都表示爲它自己的對象,對象的名稱就是名稱的標籤。下面是它是如何顯示在JSON Viewer

​​

因此,在不知道標籤提前,它提出的如何得到這個職位的標籤是一個挑戰。

我使用.NET 4.5的HttpClient所以我周圍的工作,一個時尚,採用了dynamic類型:

public class WordpressBlogPost : IBlogPost 
    { 
     // IBlogPost implementation 
     public DateTime Date { get; set; } 
     public DateTime Modified { get; set; } 
     public string Title { get; set; } 
     public string URL { get; set; } 
     public string Content { get; set; } 
     public string Excerpt { get; set; } 
     public dynamic Tags { get; set; } 
     public string Featured_Image { get; set; } 
     public int Comment_Count { get; set; } 
    } 

然後可以遍歷標籤,分別是Newtonsoft.Json.Linq.JProperty和訪問名稱,slu,等,如下所示:

foreach (var wordpressPost in parseJsonResult.posts) 
{ 
    foreach (var tag in wordpressPost.Tags) 
    { 
     string tagName = tag.Value.name; 
     string tagSlug = tag.Value.slug; 
    } 
} 

但是,這感覺很不好,我想要一個更乾淨的方式來做到這一點。

所以 - 沒有人知道 -

  1. 我可以發送某種形式的查詢字符串參數或做別的事情來得到它返回一個集合?
  2. 在.NET中有沒有比使用dynamic類型更好的方式,所以我可以有強類型標籤?

回答