使用json取得痞客邦文章列表

使用json取得痞客邦文章列表

 

最近一個案子中,有客戶想要取得痞客邦的文章(自家的)呈現在網站上

因此也上網參考了一些資料

主要是參考了The blog of typewriter職人的這篇文章,寫的很棒,有需要的可以好好參考看看

http://www.dotblogs.com.tw/shadow/archive/2011/12/04/60576.aspx

再加上痞客邦也有開放API
http://dev.pixnet.pro/pixnet/blog_articles

 

需要安裝json第三方外掛,用nuget取得套件,或自行取dll來參考也行

http://json.codeplex.com/releases/view/113546

練習用,因此畫面上的佈局就先隨意拉拉,blog我就先以我的”信德隨想"痞客邦blog來當範例部份

 

   1:  <form id="form1" runat="server">
   2:     <div>
   3:         <asp:TextBox ID="TextBox1" runat="server" Columns="100">http://emma.pixnet.cc/blog/articles?user=yangxinde&amp;format=json&amp;per_page=5&amp;page=1</asp:TextBox>
   4:         <br />
   5:     <asp:Button ID="Button1" runat="server" Text="取痞客邦的文章" OnClick="Button1_Click" />
   6:         <br />
   7:         <asp:Literal ID="Literal1" runat="server"></asp:Literal>
   8:     </div>
   9:     </form>

程式中需要using的有..

using Newtonsoft.Json;
using System.Text;
using System.Net;
using System.Data;

   1:              WebClient wc = new WebClient();
   2:              wc.Encoding = Encoding.UTF8;
   3:              /*載入JSON字串*/
   4:              string jsonStr = wc.DownloadString(this.TextBox1.Text);
   5:              JObject obj = JsonConvert.DeserializeObject<JObject>(jsonStr);
   6:              JArray array = (JArray)obj["articles"];
   7:              StringBuilder sb = new StringBuilder();
   8:               foreach (JObject obj_results in array)
   9:                   sb.Append(string.Format("<a href='{0}' target='_blank'>{1}</a><br/>", obj_results["link"].ToString(), obj_results["title"].ToString()));
  10:              this.Literal1.Text = sb.ToString();

 

在依樣畫葫蘆後,也可以成功取得痞客邦的文章列表囉!

image