Tôi đã tự hỏi cách hiệu quả nhất để phân tích cú pháp JSON trong C# là gì? Và bằng hiệu quả, tôi có nghĩa là người có thời gian phản hồi thấp hơn. Tôi đang cố gắng phân tích một lượng lớn dữ liệu bằng cách sử dụng một vài phương pháp và thời gian phản hồi trong cả hai phương pháp này đều cao. Bất cứ ai có thể cho tôi biết sự khác biệt giữa các phương pháp sau đây? Có cách nào khác để tôi phân tích cú pháp với thời gian phản hồi thấp hơn không?Cách hiệu quả nhất để phân tích cú pháp JSON trong C#
Lựa chọn 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());
}
Phương án 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);
}
Vâng ... làm thế nào lớn là dữ liệu của bạn một cách chính xác? Xác định thời gian phản hồi "Cao" của bạn là gì? bạn đã xác định xem nút cổ chai là mạng hay điều trị chưa? –
Hãy thử với ServiceStack, Json.Net, JavaScriptSerializer vv và xem kết quả. – I4V
http://www.servicestack.net/benchmarks/ – I4V