原来有个 feed 用的是 json 格式的,我直接用 正则表达式来取它的数据.最近这个 feed 做了一些调整,正则表达式失效,取不出数据来.每次改正则表达式也不是个办法,最好能有办法解析这个 json .
关于如何解析 json ,网上有很多种解决办法,我用的是 JsonReaderWriterFactory.CreateJsonReader 方法,下面是示例:
...
...
using System.Xml;
using System.Runtime.Serialization;
using System.Runtime.Serialization.Json;
...
...
string ctx = HttpRequest.GetCtx(this.FeedUrl, "GET", Encoding.UTF8);//这里取出 feed 的内容, Json 源数据
XmlDocument dom = new XmlDocument();
XmlDictionaryReader xmlReader = JsonReaderWriterFactory.CreateJsonReader(Encoding.UTF8.GetBytes(ctx), XmlDictionaryReaderQuotas.Max);
xmlReader.Read();
String XMLString = xmlReader.ReadOuterXml();
dom.LoadXml(XMLString);
DailyDealsProduct p = new DailyDealsProduct();
XmlNode node = dom.SelectSingleNode("/root/rr_price");
if (node != null) {
decimal price;
decimal.TryParse(node.InnerText, out price);
p.OrgPrice = price;
}
...
...
注意,需要添加 System.ServiceModel.Web 的引用.
| < Prev | Next > |
|---|



