2012-11-07 38 views
39

Tôi đang cố gắng tuần tự hóa một đối tượng cục bộ thành json nhưng tài liệu msdn luôn có vẻ gây nhầm lẫn cho tôi. Tôi tin rằng tôi giả sử sử dụng DataContractJsonSerializer nhưng không hoàn toàn chắc chắn, như tôi đã thấy phản ứng hỗn hợp. Tôi cũng đã có một người đề nghị Newtonsoft.Nối tiếp Json trong C#

Có ai có kinh nghiệm với điều này có thể chỉ cho tôi đi đúng hướng không?

+1

không có gì sai với DataContract.JsonSerializer. AFAIK nó cũng được sử dụng khi WCF serializes một đối tượng vào JSON –

+0

+1 cho Newtonsoft (Json.Net). Chỉ cần tìm SO cho json và xem câu trả lời. –

+2

Nếu bạn có thể sử dụng các công cụ khung làm như vậy thay vì thêm phụ thuộc và chi phí bổ sung. – f0x

Trả lời

4

Trừ khi bạn có một số nhu cầu json rất cụ thể, gắn bó với serializer khuôn khổ. Bạn sẽ tìm thấy nhiều phản hồi hơn về các vấn đề cuối cùng.

4

Có rất nhiều thư viện json khác nhau trong .NET, cung cấp cho một số loại serialization. Xem phần dưới cùng của http://json.org/ để tìm danh sách các thư viện JSON cho C#. Cho dù cái nào là tốt nhất phụ thuộc vào nhu cầu của bạn. Tôi đã sử dụng json.net từ Newtonsoft, mặc dù cá nhân tôi đã tìm thấy serializer được rất chậm. Nếu bạn cần yêu cầu tốc độ Servicestack để có yêu cầu nhanh nhất (here). Trang web cũng cho thấy một số so sánh hiệu suất, mặc dù tôi chưa thử.

Làm một số Googling, hoặc đơn giản là thử chúng, viết một số bài kiểm tra, hoặc chỉ cần chọn một khung và không giới thiệu thêm phụ thuộc và được thực hiện với nó.

7

Bộ nối tiếp JSON của ServiceStack nhanh nhất .NET JSON serializer.

Và chỉ nặng 159kb cũng rất nhẹ, không quá đề cập chứa nhiều tính năng hữu ích, ví dụ: .NET nhanh nhất JSVCSV công cụ nối tiếp văn bản, T.Dump() utils + khác.

+6

ServiceStack là tuyệt vời, tuy nhiên GPL 3.0 có thể dễ dàng loại trừ việc sử dụng nó cho nhiều người. – Stryck

Các vấn đề liên quan