/// <summary>
/// 从字符串中提取微信文章模型
/// </summary>
/// <param name="Article"></param>
/// <returns></returns>
private List<WXcontent_news_item> StringToWxArticle(string Article)
{
List<WXcontent_news_item> resultWxNews = new List<WXcontent_news_item>();
Newtonsoft.Json.JsonReader j = new Newtonsoft.Json.JsonReader(new StringReader(Article));
JsonSerializer serializer = new JsonSerializer();
Newtonsoft.Json.JavaScriptObject JSObject = (Newtonsoft.Json.JavaScriptObject)serializer.Deserialize(j);
if (JSObject != null)
{
LoadWxArticle(JSObject, resultWxNews);
}
return resultWxNews;
}
/// <summary>
/// 把所有文章存入List集合中
/// </summary>
/// <param name="JObject"></param>
public void LoadWxArticle(Newtonsoft.Json.JavaScriptObject JObject, List<WXcontent_news_item> resultWxNews)
{
foreach (KeyValuePair<string, object> item in JObject)
{
object obj = item.Value;
if (obj.GetType() == typeof(Newtonsoft.Json.JavaScriptObject))
{
LoadWxArticle((Newtonsoft.Json.JavaScriptObject)item.Value, resultWxNews);
}
else if (obj.GetType() == typeof(Newtonsoft.Json.JavaScriptArray))
{
Newtonsoft.Json.JavaScriptArray chlid = (Newtonsoft.Json.JavaScriptArray)item.Value;
if (item.Key != "news_item")
{
for (int chlidIndex = 0; chlidIndex < chlid.Count; chlidIndex++)
{
Newtonsoft.Json.JavaScriptObject chliditem = (Newtonsoft.Json.JavaScriptObject)chlid[chlidIndex];
if (chliditem.GetType() == typeof(Newtonsoft.Json.JavaScriptObject))
{
LoadWxArticle((Newtonsoft.Json.JavaScriptObject)chliditem, resultWxNews);
}
}
}
else
{
Newtonsoft.Json.JavaScriptArray chlid2 = (Newtonsoft.Json.JavaScriptArray)item.Value;
for (int articleCount = 0; articleCount < chlid2.Count; articleCount++)
{
WXcontent_news_item news_Item = new WXcontent_news_item();
Type t = news_Item.GetType();
System.Reflection.PropertyInfo[] PropertyList = t.GetProperties();
Newtonsoft.Json.JavaScriptObject keyValues = (Newtonsoft.Json.JavaScriptObject)chlid[articleCount];
for (int chlidIndex = 0; chlidIndex < keyValues.Count; chlidIndex++)
{
news_Item.title = keyValues["title"].ToString();
news_Item.author = keyValues["author"].ToString();
news_Item.digest = keyValues["digest"].ToString();
news_Item.content = keyValues["content"].ToString();
news_Item.content_source_url = keyValues["content_source_url"].ToString();
news_Item.thumb_media_id = keyValues["thumb_media_id"].ToString();
news_Item.show_cover_pic = keyValues["show_cover_pic"].ToString();
news_Item.url = keyValues["url"].ToString();
news_Item.thumb_url = keyValues["thumb_url"].ToString();
news_Item.need_open_comment = keyValues["need_open_comment"].ToString();
news_Item.only_fans_can_comment = keyValues["only_fans_can_comment"].ToString();
}
resultWxNews.Add(news_Item);
}
}
}
}
}