W Visual Studio 2013 istnieje opcja “Paste special”, gdzie możemy wkleić dowolny JSON lub XML jako klasy C#. Opcja jest mało znana, ale bardzo przydatna, gdy pracujemy z zewnętrznymi usługami. Często ręcznie tworzymy takie klasy w celu ich późniejszej deserializacji, np. za pomocą JSON.NET. Wystarczy, że przekopiujemy dokument JSON lub XML do schowka, a następnie z menu głównego wybierzemy:
Załóżmy, że w schowku mieliśmy:
{"employees":[ {"firstName":"John", "lastName":"Doe"}, {"firstName":"Anna", "lastName":"Smith"}, {"firstName":"Peter", "lastName":"Jones"} ]}
Wygenerowane klasy będą wyglądać następująco:
public class Rootobject { public Employee[] employees { get; set; } } public class Employee { public string firstName { get; set; } public string lastName { get; set; } }
Nie trzeba instalować żadnych zewnętrznych pluginów – jest to część VS.
Mistrzostwo świata!
Funkcja przydatna ale zawsze trzeba przejżeć i poprawić wygenerowany kod. Pola i właściwości są generowane w taki sposób żeby przypisać jak najmniejszy typ. Czyli gdy napotka liczbę 10 to ustawi typ short, a tak naprawde może to być int albo nawet float.
A czego użyć w drugą stronę? C# -> JSON.
Tak jak to robi np. Swagger.