2012-01-31 13 views
20

Pracuję z interfejsem API, który używa json. Mam kilka klas, które stworzyłem, aby modelować API. Aby ułatwić życie, moje modele wykorzystują właściwości publiczne, które z kolei są używane przez Json.Net podczas deserializacji jsonów w obiekty.Czy istnieje sposób na deserializację Json.Net z niezmiennymi klasami?

Chciałbym, aby moje obiekty były niezmienne, ale mam problem, ponieważ jeśli zrobię tylko moje właściwości do odczytu, przerywam deserializację. Czy istnieje dla mnie sposób na posiadanie niezmiennych obiektów i użycie deserializacji?

Odpowiedz

14

Myślę, że powinieneś być w stanie użyć JsonConstructorAttribute. Zobacz przykład this question.

+0

Myślę, że być może zapomniałeś wkleić link :) – GregB

+0

@GregB, przepraszam, wysłany teraz. –

+1

Jeśli istnieje tylko jeden konstruktor, 'JsonConstructorAttribute' jest niepotrzebny. –

8

Podaj konstruktor z parametrami odpowiadającymi właściwościom. Obudowa pierwszych liter parametrów i właściwości nie musi się zgadzać.

Powiązane problemy