13,347
社区成员
发帖
与我相关
我的任务
分享
static void Main(string[] args)
{
string Url = "http://wcfbbs.instrument.com.cn/BBSActivity/HomeFocusInfo.GetSS_Home_FocusList?" + "SHC_ID=" + 1 + "&type=" + 1;
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url);
request.Method = "GET";
request.ContentType = "text/html;charset=UTF-8";
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Stream myResponseStream = response.GetResponseStream();
StreamReader myStreamReader = new StreamReader(myResponseStream, Encoding.GetEncoding("utf-8"));
string retString = myStreamReader.ReadToEnd();
myStreamReader.Close();
myResponseStream.Close();
RecommendModel products = new RecommendModel();
products = Deserialize<RecommendModel>(retString);
foreach (var item in products.Tbody)
{
Console.WriteLine(item.BBS_Title + ":" + item.Hits + "," + item.SFID + "," + item.Threadid);
}
Console.WriteLine("执行完成!");
Console.ReadKey();
}
public static List<T> JSONStringToList<T>(this string JsonStr)
{
JavaScriptSerializer Serializer = new JavaScriptSerializer();
List<T> objs = Serializer.Deserialize<List<T>>(JsonStr);
return objs;
}
public static T Deserialize<T>(string json)
{
T obj = Activator.CreateInstance<T>();
using (MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(json)))
{
DataContractJsonSerializer serializer = new DataContractJsonSerializer(obj.GetType());
return (T)serializer.ReadObject(ms);
}
}
还是我来告诉你们吧。。。这样一下就解析出来了,
public class TbodyRecommend
{
/// <summary>标题 </summary>
[DataMember(Name = "BBS_Title")]
public string BBS_Title { get; set; }
/// <summary>点击次数 </summary>
[DataMember(Name = "Hits")]
public Int32 Hits { get; set; }
/// <summary>发布时间 </summary>
[DataMember(Name = "Intime")]
public string Intime { get; set; }
/// <summary>业务流标识符 </summary>
[DataMember(Name = "SFID")]
public Int32 SFID { get; set; }
/// <summary>线程标识id </summary>
[DataMember(Name = "Threadid")]
public Int32 Threadid { get; set; }
/// <summary>发布者</summary>
[DataMember(Name = "Username")]
public string Username { get; set; }
}
[Serializable]
public class HeaderRecommend
{
/// <summary>状态 </summary>
[DataMember(Name = "Flag")]
public bool Flag { get; set; }
/// <summary>通知</summary>
[DataMember(Name = "Messages")]
public string Messages { get; set; }
/// <summary>总页数 </summary>
[DataMember(Name = "PageCount")]
public Int32 PageCount { get; set; }
/// <summary>总条数 </summary>
[DataMember(Name = "RowCount")]
public Int32 RowCount { get; set; }
}
public class RecommendModel
{
[DataMember(Name = "Header")]
public HeaderRecommend Header;
[DataMember(Name = "Tbody")]
public List<TbodyRecommend> Tbody;
}
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using Newtonsoft.Json.Converters;
private void button1_Click(object sender, EventArgs e)
{
string str = "{'Header':{'Flag':true,'Messages':'','PageCount':0,'RowCount':0},'Tbody':[{'BBS_Title':'13种洗发露铅含量检测 全部合格!','Hits':65,'Intime':'\\/Date(1375169588573+0800)\\/','SFID':30765,'Threadid':4869926,'Username':'v2764104'},{'BBS_Title':'气质联用应用技术培训 8月12日','Hits':47,'Intime':'\\/Date(1375163275633+0800)\\/','SFID':30760,'Threadid':0,'Username':''},{'BBS_Title':'天瑞仪器资产重组大猜想:并购or被并购','Hits':1122,'Intime':'\\/Date(1374802201867+0800)\\/','SFID':30701,'Threadid':4870344,'Username':''},{'BBS_Title':'爱丁堡仪器今夏来袭,诚征论文赢手机','Hits':207,'Intime':'\\/Date(1374800978947+0800)\\/','SFID':30700,'Threadid':0,'Username':''},{'BBS_Title':'喜讯:2013上半年优秀会员评选结果揭晓','Hits':826,'Intime':'\\/Date(1374638092677+0800)\\/','SFID':30669,'Threadid':4868003,'Username':''},{'BBS_Title':'惊愕:菊花茶尽有名堂——虫子!','Hits':502,'Intime':'\\/Date(1374630389867+0800)\\/','SFID':30666,'Threadid':4865932,'Username':'unht'},{'BBS_Title':'家用自来水Pb含量验证,你家的呢?','Hits':378,'Intime':'\\/Date(1374572221150+0800)\\/','SFID':30654,'Threadid':4866772,'Username':'denx5201314'},{'BBS_Title':'两种方法测定水中砷含量的经验探讨','Hits':460,'Intime':'\\/Date(1374221687573+0800)\\/','SFID':30597,'Threadid':4858951,'Username':'ning-meng'},{'BBS_Title':'《XRF傻瓜书》','Hits':109,'Intime':'\\/Date(1374220709343+0800)\\/','SFID':30596,'Threadid':4848862,'Username':'yue_qiu'},{'BBS_Title':'东北大米 vs 南方大米 镉含量PK!','Hits':881,'Intime':'\\/Date(1374219637390+0800)\\/','SFID':30595,'Threadid':4857844,'Username':'yiyuxiner'}]}";
JObject o = JObject.Parse(str);
//Console.WriteLine(o["Tbody"].ToString());
JArray json = (JArray)o["Tbody"];
for (int j = 0; j < json.Count; j++)
{
JObject jsonobj = (JObject)json[j];
Console.WriteLine(jsonobj["BBS_Title"].ToString() + "|" + jsonobj["Hits"].ToString());
}
}