加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

在C#中解析JSON的最有效方法

发布时间:2020-12-15 17:39:39 所属栏目:百科 来源:网络整理
导读:我想知道在C#中解析 JSON的最有效方法是什么?而且效率我指的是响应时间较短的那个.我试图使用几种方法解析大量数据,这两种方法的响应时间都很长.谁能告诉我以下方法之间的区别?是否有一种替代方案可以让我以较低的响应时间进行解析? 选项1: HttpWebReque
我想知道在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());
}

选项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);
}

解决方法

您可以在以下链接中找到比较.

测试的库:

http://sagistech.blogspot.com/2010/03/parsing-twitter-json-comparing-c.html

> Json.NET – 一个流行的C#JSON库.
> Gapi.NET – Gapi.NET不是JSON解析库,但它包含JSON解析例程.
> Procurios – 又一个C#JSON库.另请参阅此博客文章,了解如何使用它来解析Twiter数据.
> JavaScriptSerializer – .NET 3.5内置JSON解析器.
> DataContractJsonSerializer – .NET 3.5内置JSON解析器.
> AjaxPro – 一个C#AJAX库.

更新:

根据Matt Johnson的评论添加了此信息

http://theburningmonk.com/2011/11/performance-test-json-serializers-part-ii/

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读