Użyłem NJsonSchema dla biblioteki .NET niedawno do sprawdzania poprawności przeciwko schematu i działało idealnie dla mnie, nawet w przypadku złożonych systemów z definicjami w kilku plikach:
https://github.com/NJsonSchema/NJsonSchema
NJsonSchema jest biblioteka .NET czytać, generowania i sprawdzania poprawności schematu JSON schematów projekt v4. Biblioteka może odczytać schemat z pliku lub ciągu i zweryfikować dane JSON względem niego. Schemat można również wygenerować z istniejącej klasy .NET. Za pomocą interfejsów API generowania kodu można generować klasę C# i TypeScript lub interfejsy ze schematu.
Umożliwia nie tylko walidację ze schematem, ale także generowanie plików schematów z istniejących klas. Zaletą jest to, że jest to open source, a komunikacja z autorem projektu była bardzo szybka i dobra w przypadku moich pytań.
To może być dobry wybór dla kogoś, kto szuka wolnego rozwiązania do sprawdzania poprawności.
Wybrane biblioteki to Json.NET (dla .NET) i JsonTools (dla Java). Używam http://www.json-schema.org/ oraz http://groups.google.com/group/json-schema/web/json-schema-proposal-working-draft jako odniesienia do tworzenia schematów. Możesz również sprawdzić swój schemat i JSON online tutaj: http://james.newtonking.com/projects/json/schema.aspx (od twórcy Json.NET) –
Obstawiam, że wiele się zmieniło na ten temat, ponieważ Wrzesień 2009. Jakie są twoje myśli teraz? Czy używasz czegoś do sprawdzania poprawności JSON (szczególnie z Java)? Również @Dejw, a może o sobie? – blong
Cóż, prawdę mówiąc, przeszedłem do nowych projektów wkrótce po tym, jak skorzystałem z tej walidacji. Jeśli dobrze pamiętam, w końcu zrezygnowaliśmy z walidacji.Musiałem zapewnić środki do walidacji, aby ułagodzić tych, którzy preferowali XML. Ale oni byli szczęśliwi bez walidacji na końcu. Naprawdę nie widzę powodu, by dodawać złożoności sprawdzania poprawności. Po prostu zamapuj obiekty JSON na ViewModels lub DTO i wykonaj odpowiednie sprawdzanie parametrów. Twoje ViewModels lub DTO po stronie serwera mogą działać jako definicje schematu i sprawdzanie poprawności all-in-one, w którą wierzę. To jest moje podejście w tej chwili. –