The question you have to ask is:
Am I tied to using only this database?
DO
- If you can use a different database to store JSON, use a document storage solution such as CouchDB, DynamoDB or MongoDB.
- Use these document storage DB's ability to index and search hierarchical data.
- Use a relational database for your relational data.
- Use a relational database for reporting, data warehousing and data mining.
DON'T
- Store JSON as string if possible.
- Try and come up with max length of JSON data.
- Use varchar to store JSON (use text/blob if you must).
- Try and search through stored JSON for values.
- Worry about escaping JSON to store as string.