哪位大神能帮忙的

Rouput 2016-08-12 09:40:33
JSON解析

static void Main(string[] args)
{
string serviceAddress = "http://20148414.dianpu.lianjia.com/shop/ershoufang/?p=1&type=1";
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(serviceAddress);
request.Method = "GET";
request.ContentType = "text/xml;charset=UTF-8";
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Stream myResponseStream = response.GetResponseStream();
StreamReader myStreamReader = new StreamReader(myResponseStream, Encoding.UTF8);
string retString = myStreamReader.ReadToEnd();
myStreamReader.Close();
myResponseStream.Close();
string json = JsonHelper.JsonSerializer(retString);
Console.Write(json);
}
public static string JsonSerializer<T>(T t)
{

DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(T));

MemoryStream ms = new MemoryStream();

ser.WriteObject(ms, t);

string jsonString = Encoding.UTF8.GetString(ms.ToArray());

string jsonData = jsonString;

JavaScriptSerializer jsonSerialize = new JavaScriptSerializer();

jsonData = jsonSerialize.Deserialize<T>(jsonString).ToString();

ms.Close();

return jsonData;

}

不知道怎么办了!!!
想要提取JSON里的信息。
...全文
133 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
摇撼大地 2016-08-12
  • 打赏
  • 举报
回复
我非常喜欢的写法。就是用dynamic 类型。

dynamic obj = jsonSerialize.Deserialize<dynamic>(jsonString);
//比如他有一个Name属性。
string name = obj.Name;//这样就ok了。不过如果没有这个属性。会报错,如果能肯定获取的数据没问题,就不加验证也可以。


我就喜欢这样写。很方便。你就当传过来的是一个对象这么用就行了。
Rouput 2016-08-12
  • 打赏
  • 举报
回复
关键是要提取JSON里的 "list":[{ "houseId":"105091421604","resblockId":"2411049771756", .... },{ "houseId":"105091421604","resblockId":"2411049771756", .... }] 类似这种的数据。。。
Rouput 2016-08-12
  • 打赏
  • 举报
回复
可以得到 JSON 是: {"tplData":{"role_delegater_house":{"count":0,"pages":0,"curPage":"1"},"sold_house":{"count":7,"pages":2,"curPage":"1","list":[{"houseId":"105091421604","resblockId":"2411049771756","resblockName":"\u767e\u4ed5\u8fbe\u7ea2\u6811\u897f\u5cb8","imgSrc":"http:\/\/image1.ljcdn.com\/440300-inspection\/e0df28ca-a859-472f-a746-3a4cbdbdaebb9.jpg.280x210.jpg","unitPrice":98718,"communityUrl":"http:\/\/sz.lianjia.com\/xiaoqu\/2411049771756\/","roomNum":"2\u5ba42\u5385","buildYear":"2005","square":117,"viewUrl":"http:\/\/sz.lianjia.com\/chengjiao\/105091421604.html?agent_id=20148414","type":"sold","price":"1155","cityName":"\u6df1\u5733","valid":true,"se":true,"districtUrl":"http:\/\/sz.lianjia.com\/ershoufang\/nanshan\/","districtName":"\u5357\u5c71","regionUrl":"http:\/\/sz.lianjia.com\/ershoufang\/hongshuwan\/","regionName":"\u7ea2\u6811\u6e7e","isTrendDown":false,"floorStat":"\u4e2d\u697c\u5c42","totalFloor":"31","signTime":"2016.07.26","sign_time":"2016-07-26 11:23:21","title":"\u767e\u4ed5\u8fbe\u7ea2\u6811\u897f\u5cb8 2\u5ba42\u5385 117\u5e73\u7c73","serviceTitle":"\u767e\u4ed5\u8fbe\u7ea2\u6811\u897f\u5cb8 2\u5ba42\u5385 117\u5e73 1155\u4e07","subwayInfo":"\u8ddd\u79bb11\u53f7\u7ebf\u7ea2\u6811\u6e7e\u5357\u7ad9625\u7c73","hbtName":"\u677f\u697c","decoration":"\u5176\u4ed6","tags":[],"orientation":"\u897f\u5357","schoolName":"\u6d77\u6ee8\u5b9e\u9a8c\u5c0f\u5b66\u6df1\u5733\u6e7e\u90e8","isFeel":false,"soldFeel":""},{"houseId":"105100083785","resblockId":"2411049783963","resblockName":"\u4e2d\u4fe1\u7ea2\u6811\u6e7e\u5357\u533a","imgSrc":"http:\/\/image1.ljcdn.com\/440300-inspection\/579cab6f-5447-451f-bb76-f89c71622dac.jpg.280x210.jpg","unitPrice":100410,"communityUrl":"http:\/\/sz.lianjia.com\/xiaoqu\/2411049783963\/","roomNum":"4\u5ba42\u5385","buildYear":"2005","square":244,"viewUrl":"http:\/\/sz.lianjia.com\/chengjiao\/105100083785.html?agent_id=20148414","type":"sold","price":"2450","cityName":"\u6df1\u5733","valid":true,"se":true,"districtUrl":"http:\/\/sz.lianjia.com\/ershoufang\/nanshan\/","districtName":"\u5357\u5c71","regionUrl":"http:\/\/sz.lianjia.com\/ershoufang\/hongshuwan\/","regionName":"\u7ea2\u6811\u6e7e","isTrendDown":false,"floorStat":"\u672a\u77e5\u697c\u5c42","totalFloor":"31","signTime":"2016.06.21","sign_time":"2016-06-21 13:16:35","title":"\u4e2d\u4fe1\u7ea2\u6811\u6e7e\u5357\u533a 4\u5ba42\u5385 244\u5e73\u7c73","serviceTitle":"\u4e2d\u4fe1\u7ea2\u6811\u6e7e\u5357\u533a 4\u5ba42\u5385 244\u5e73 2450\u4e07","subwayInfo":"\u8ddd\u79bb2\u53f7\u7ebf(\u86c7\u53e3\u7ebf)\u7ea2\u6811\u6e7e\u7ad9308\u7c73","hbtName":"\u677f\u697c","decoration":"\u7cbe\u88c5","tags":[["taxfree","\u6ee1\u4e94\u5e74\u552f\u4e00"]],"orientation":"\u5357","schoolName":"\u6d77\u6ee8\u5b9e\u9a8c\u5c0f\u5b66\u6df1\u5733\u6e7e\u90e8","isFeel":false,"soldFeel":""},{"houseId":"105091052973","resblockId":"2411049783963","resblockName":"\u4e2d\u4fe1\u7ea2\u6811\u6e7e\u5357\u533a","imgSrc":"http:\/\/image1.ljcdn.com\/440300-inspection\/581bbcc2-ddce-49a5-a2e9-35433c74b46b4.jpg.280x210.jpg","unitPrice":103236,"communityUrl":"http:\/\/sz.lianjia.com\/xiaoqu\/2411049783963\/","roomNum":"4\u5ba42\u5385","buildYear":"2005","square":204,"viewUrl":"http:\/\/sz.lianjia.com\/chengjiao\/105091052973.html?agent_id=20148414","type":"sold","price":"2106","cityName":"\u6df1\u5733","valid":true,"se":true,"districtUrl":"http:\/\/sz.lianjia.com\/ershoufang\/nanshan\/","districtName":"\u5357\u5c71","regionUrl":"http:\/\/sz.lianjia.com\/ershoufang\/hongshuwan\/","regionName":"\u7ea2\u6811\u6e7e","isTrendDown":false,"floorStat":"\u672a\u77e5\u697c\u5c42","totalFloor":"31","signTime":"2016.05.02","sign_time":"2016-05-02 21:22:00","title":"\u4e2d\u4fe1\u7ea2\u6811\u6e7e\u5357\u533a 4\u5ba42\u5385 204\u5e73\u7c73","serviceTitle":"\u4e2d\u4fe1\u7ea2\u6811\u6e7e\u5357\u533a 4\u5ba42\u5385 204\u5e73 2106\u4e07","subwayInfo":"\u8ddd\u79bb2\u53f7\u7ebf(\u86c7\u53e3\u7ebf)\u7ea2\u6811\u6e7e\u7ad9308\u7c73","hbtName":"\u677f\u697c","decoration":"\u5176\u4ed6","tags":[],"orientation":"\u897f\u5357","schoolName":"\u6d77\u6ee8\u5b9e\u9a8c\u5c0f\u5b66\u6df1\u5733\u6e7e\u90e8","isFeel":false,"soldFeel":""},{"houseId":"SZNS91332257","resblockId":"2411049784546","resblockName":"\u4e2d\u4fe1\u7ea2\u6811\u6e7e\u5317\u533a","imgSrc":null,"unitPrice":123016,"communityUrl":"http:\/\/sz.lianjia.com\/xiaoqu\/2411049784546\/","roomNum":"4\u5ba42\u5385","buildYear":"2010","square":252,"viewUrl":"http:\/\/sz.lianjia.com\/chengjiao\/SZNS91332257.html?agent_id=20148414","type":"sold","price":"3100","cityName":"\u6df1\u5733","valid":true,"se":true,"districtUrl":"http:\/\/sz.lianjia.com\/ershoufang\/nanshan\/","districtName":"\u5357\u5c71","regionUrl":"http:\/\/sz.lianjia.com\/ershoufang\/hongshuwan\/","regionName":"\u7ea2\u6811\u6e7e","isTrendDown":false,"floorStat":"\u9ad8\u697c\u5c42","totalFloor":"31","signTime":"2016.01.15","sign_time":"2016-01-15 00:00:00","title":"\u4e2d\u4fe1\u7ea2\u6811\u6e7e\u5317\u533a 4\u5ba42\u5385 252\u5e73\u7c73","serviceTitle":"\u4e2d\u4fe1\u7ea2\u6811\u6e7e\u5317\u533a 4\u5ba42\u5385 252\u5e73 3100\u4e07","subwayInfo":"\u8ddd\u79bb2\u53f7\u7ebf(\u86c7\u53e3\u7ebf)\u7ea2\u6811\u6e7e\u7ad9521\u7c73","hbtName":"\u677f\u697c","decoration":"\u5176\u4ed6","tags":[],"orientation":"\u897f\u5357","schoolName":"\u6d77\u6ee8\u5b9e\u9a8c\u5c0f\u5b66\u6df1\u5733\u6e7e\u90e8","isFeel":false,"soldFeel":""},{"houseId":"SZNS91385918","resblockId":"2411049771756","resblockName":"\u767e\u4ed5\u8fbe\u7ea2\u6811\u897f\u5cb8","imgSrc":null,"unitPrice":94828,"communityUrl":"http:\/\/sz.lianjia.com\/xiaoqu\/2411049771756\/","roomNum":"2\u5ba42\u5385","buildYear":"2005","square":116,"viewUrl":"http:\/\/sz.lianjia.com\/chengjiao\/SZNS91385918.html?agent_id=20148414","type":"sold","price":"1100","cityName":"\u6df1\u5733","valid":true,"se":true,"districtUrl":"http:\/\/sz.lianjia.com\/ershoufang\/nanshan\/","districtName":"\u5357\u5c71","regionUrl":"http:\/\/sz.lianjia.com\/ershoufang\/hongshuwan\/","regionName":"\u7ea2\u6811\u6e7e","isTrendDown":false,"floorStat":"\u9ad8\u697c\u5c42","totalFloor":"31","signTime":"2016.01.10","sign_time":"2016-01-10 00:00:00","title":"\u767e\u4ed5\u8fbe\u7ea2\u6811\u897f\u5cb8 2\u5ba42\u5385 116\u5e73\u7c73","serviceTitle":"\u767e\u4ed5\u8fbe\u7ea2\u6811\u897f\u5cb8 2\u5ba42\u5385 116\u5e73 1100\u4e07","subwayInfo":"\u8ddd\u79bb11\u53f7\u7ebf\u7ea2\u6811\u6e7e\u5357\u7ad9485\u7c73","hbtName":"\u5854\u697c","decoration":"\u5176\u4ed6","tags":[],"orientation":"\u5357 \u5317","schoolName":"\u6d77\u6ee8\u5b9e\u9a8c\u5c0f\u5b66\u6df1\u5733\u6e7e\u90e8","isFeel":false,"soldFeel":""}]},"selected_house":{"count":2,"pages":1,"curPage":"1"},"other_house":{"count":22,"pages":5,"curPage":"1"},"agentName":"\u9648\u534e\u9752"}} 关键是要提取JSON里的 "list":[{ "houseId":"105091421604","resblockId":"2411049771756", .... }],
Rouput 2016-08-12
  • 打赏
  • 举报
回复
回复1楼: 刚开始搞这东西,我也不太熟。。。。
  • 打赏
  • 举报
回复
jsonData = jsonSerialize.Deserialize<T>(jsonString).ToString(); 你反序列化之后又转成string是什么鬼? 直接return jsonSerialize.Deserialize<T>(jsonString)出去不就行了吗?

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧