Link

When adding an API to your web service, you have to choose how to encode the data you send across the line. XML is one common choice for this, but it can grow arcane and cumbersome pretty quickly. Lots of webservice authors want to avoid thinking about XML, and instead choose formats that provide a few simple data types that correspond to common data structures in modern programming languages. In other words, JSON and YAML.

Unfortunately, while these formats make it easy to pass around complex data structures, they lack a system for validation. XML has XML Schemas and RELAX NG, but these are complicated and sometimes confusing standards. They’re not very portable to the kind of data structure provided by JSON, and if you wanted to avoid XML as a data encoding, writing more XML to validate the first XML is probably even less appealing.

Rx is meant to provide a system for data validation that matches up with JSON-style data structures and is as easy to work with as JSON itself.

Link

JSYNC is a simple data serialization language. It takes the simplicity of JSON and combines it with the completeness of YAML. This allows for full data graph serialization. JSYNC has the ability to serialize data in a language that is simple and familiar, while reusing the existing and ubiquitous set of JSON implementations.

Link

Kwalify is a parser, schema validator, and data binding tool for YAML and JSON.

YAML and JSON are simple and nice format for structured data and easier for human to read and write than XML. But there have been no schema for YAML such as RelaxNG or DTD. Kwalify gets over this situation.

From version 0.7, Kwalify supports data binding. If you specify class name in schema file, Kwalify YAML parser creates instance objects of that class instead of Hash objects. It means that you don’t have to convert Hash into proper object any more. Data binding makes YAML much easier to handle and manipurate