Is it possible to validate JSON with an XSD in Java? I have an application where I receive JSON response, and I would like to validate it against existing XSD. Another part of my application uses XML, which is why it would be easiest if they both could validate against the existing XSD.
Validate JSON against XML Schema (XSD)
You'd have to convert it to xml i think... urgh. Just use JSON everywhere :-) –
Lilas
for json it's better to generate a json shema similar to xsd and validate against it. There are third-party libs to validate json against schema, maybe exists such for Java. –
Tega
No, XML Schema (XSD) is for validating XML; to validate JSON, see JSON Schema.
I recommend generating schemas by hand for full understanding and full control over the constraints. However, here are some automated tools that can jumpstart the process:
- To convert from JSON Schema to XSD, see jsons2xsd.
- To convert from XSD to JSON Schema, see Jsonix Schema Compiler.
Related and also very useful:
- To parse from XML to JSON (unmarshal) or serialize JSON to XML (marshal), see JSONIX.
- For a list of implementations, including validators in various languages, see JSON-Schema Implementations.
Thank you. Is it easy to validate against the JSON schema? –
Effects
Generally, sure. See Validators section of JSON-Schema Implementations. –
Semmes
Can you expand on why you can't use XSD for JSON? I imagine you could just convert the JSON to XML then check that XML against the XSD. Other than raw text in XML, JSON and XML are just elements which have attributes and child elements. –
Consulate
@ubiquibacon: Of course any XML can be validated with XSD, including XML that was automatically converted from JSON using the methods I mentioned in the answer. –
Semmes
The biggest problem with using JSONIX is my JSON schema property names have @,#, and - prefixing them, so creating an XML Schema from them seems unlikely. We already have a perfectly good XML Schema, so the task becomes converting JSON to DOM. –
Regnant
No, the standards are different between the two.
But if you really want to rely on the xsd for validating, Jsonix Schema Compiler can help you generate a JSON Schema to validate your json from your XML Schema.
JSON schema is not a standard, so I can’t rely on it. –
Regnant
Yes, you can validate JSON with XML Schema, if you convert it to DOM:
https://github.com/coderextreme/x3dschema
See Validate.java (validator) and X3DJSONLD.java (converter).
© 2022 - 2024 — McMap. All rights reserved.