我想知道在C#中解析JSON的最有效方法是什么?而且效率我指的是响应时间较短的那个.我试图使用几种方法解析大量数据,这两种方法的响应时间都很长.谁能告诉我以下方法之间的区别?是否有一种替代方案可以让我以较低的响应时间进行解析?
选项1:
HttpWebRequest request = WebRequest.Create(jsonURL) as HttpWebRequest;
using (HttpWebResponse response = request.GetResponse() as HttpWebResponse)
{
if (response.StatusCode != HttpStatusCode.OK)
throw new Exception(String.Format(
"Server error (HTTP {0}: {1}).",
response.StatusCode,
response.StatusDescription));
DataContractJsonSerializer jsonSerializer = new DataContractJsonSerializer(typeof(obj));
object objResponse = jsonSerializer.ReadObject(response.GetResponseStream());
}
Run Code Online (Sandbox Code Playgroud)
选项2:
var json = new WebClient().DownloadString(jsonURL);
using (MemoryStream ms = new MemoryStream(Encoding.Unicode.GetBytes(json)))
{
DataContractJsonSerializer jsonSerializer = new DataContractJsonSerializer(typeof(obj));
object objResponse = jsonSerializer.ReadObject(ms);
}
Run Code Online (Sandbox Code Playgroud)
Cha*_*mal 13
您可以在以下链接中找到比较.
测试的库:
http://sagistech.blogspot.com/2010/03/parsing-twitter-json-comparing-c.html

更新:
根据Matt Johnson的评论添加了此信息
http://theburningmonk.com/2011/11/performance-test-json-serializers-part-ii/
| 归档时间: |
|
| 查看次数: |
9442 次 |
| 最近记录: |