2009-09-03 13 views
12

Czy istnieją proste biblioteki (.NET i Java), które są w stanie sprawdzić poprawność łańcucha JSON, biorąc pod uwagę definicję schematu?Jak można programowo sprawdzić poprawność ciągu JSON względem schematu?

Powinien działać podobnie do sprawdzania poprawności XML za pomocą XSD.

EDIT: muszę .NET i bibliotek Java. Dzięki darinowi za połączenie .NET!

+0

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) –

+0

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

+0

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. –

Odpowiedz

4

Here Możesz znaleźć kilka klas Java, które mogą być przydatne podczas pracy z JSON.

Gdy składnia Twojego łańcucha JSON jest niepoprawna, wystąpi Wyjątek JSONException - to najprostszy sposób sprawdzenia poprawności, tak myślę. JSONTokener to klasa, której należy użyć do analizy. Ma konstruktora, który przyjmuje java.lang.String jako parametr.

Edytuj: Edytuj Niestety, trochę mnie źle zrozumiałem. Prawdopodobnie JSON Tools jest biblioteką, której szukasz. Zapewnia validation using a JSON schema.

+0

Poszukuję sprawdzania poprawności schematu, a nie sprawdzania składni. Sprawię, że pytanie będzie jaśniejsze. –

+0

Edytowałem swoją odpowiedź. –

+0

Rewizja, dzięki za link. Będę używał narzędzi Json.NET i JSON. Nie można przyjąć 2 odpowiedzi? –

1

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.

Powiązane problemy