2012-11-07 23 views
39

Próbuję serializować lokalny obiekt do json, ale dokumentacja msdn zawsze wydaje się wprowadzać w błąd. Sądzę, że mam używać DataContractJsonSerializer, ale nie jestem do końca pewny, ponieważ widziałem mieszane odpowiedzi. Kazałem komuś polecić Newtonsoft.Serializacja Json w C#

Czy ktoś ma jakiekolwiek doświadczenie z tym, co może wskazać mi właściwy kierunek?

+1

nie ma nic złego w DataContract.JsonSerializer. AFAIK jest również używany, gdy WCF serializuje obiekt w JSON –

+0

+1 dla Newtonsoft (Json.Net). Po prostu wyszukaj SO dla json i zobacz odpowiedzi. –

+2

Jeśli możesz użyć narzędzi ramowych, zrób to zamiast dodawać dodatkowe zależności i narzut. – f0x

Odpowiedz

4

Chyba że masz jakieś bardzo konkretne potrzeby json, trzymać z serializatora ramowej. Znajdziesz więcej opinii na temat ewentualnych problemów.

4

Istnieje wiele różnych bibliotek json w .NET, które zapewniają pewien rodzaj serializacji. Spójrz na dół http://json.org/, aby znaleźć listę bibliotek JSON dla języka C#. To, który z nich jest najlepszy, zależy od twoich potrzeb. Użyłem json.net z Newtonsoft, ale osobiście znalazłem serializator, który działa bardzo wolno. Jeśli potrzebujesz najszybszych żądań Servicestack (here). Witryna pokazuje również pewne porównania wydajności, chociaż jej nie wypróbowałem.

Zrób trochę Googling, lub po prostu wypróbuj je, napisz kilka testów lub po prostu wybierz frameworka i nie wprowadzaj żadnych dodatkowych zależności, i zrób to.

7

Serializator JSON Well ServiceStack to najszybszy .NET JSON serializer.

I ważący tylko 159kb jest również bardzo lekki, nie wspominając zawiera wiele przydatnych funkcji, np. Najszybsze serie tekstów: .NET, JSV i CSV,utils + więcej.

+6

ServiceStack jest doskonały, jednak jest to GPL 3.0, który może z łatwością wykluczyć jego użycie dla wielu osób. – Stryck