JSON is popular enough that not supporting it is becoming a competitive weakness. We can add JSON support in a way that is compatible with our performance goals by mapping JSON to an existing schema: one JSON documents maps to one CQL row.
Thus, it is NOT a goal to support schemaless documents, which is a misfeature   . Rather, it is to allow a convenient way to easily turn a JSON document from a service or a user into a CQL row, with all the validation that entails.
Since we are not looking to support schemaless documents, we will not be adding a JSON data type (
CASSANDRA-6833) a la postgresql. Rather, we will map the JSON to UDT, collections, and primitive CQL types.
Here's how this might look:
(We would also want to_json and from_json functions to allow mapping a single column's worth of data. These would not require extra syntax.)