Utilizo mucho JSON en mi CMS (que aloja alrededor de 110 sitios) y encuentro que la velocidad de acceso a los datos es muy rápida. Me sorprendió que no hubiera más degradación de velocidad. Cada objeto en el CMS (Página, Diseño, Lista, Tema, etc.) tiene una columna NVARCHAR (MAX) llamada JSONConfiguration. Mi herramienta ORM sabe buscar esa columna y reconstituirla como un objeto si es necesario. O, dependiendo de la situación, solo lo pasaré al cliente para que jQuery o Ext JS procesen.
En cuanto a la legibilidad/mantenimiento de mi código, puede decir que ha mejorado porque ahora tengo clases que representan una gran cantidad de objetos JSON almacenados en la base de datos.
Utilicé JSON.net para todas las serializaciones/deserialización. http://james.newtonking.com/default.aspx
También uso una única consulta para devolver meta-JSON con los datos reales. Como en el caso de Ext JS, tengo consultas que devuelven tanto la estructura del objeto Ext JS como los datos que el objeto necesitará. Esto corta una publicación posterior/SQL de ida y vuelta.
También me sorprendió lo rápido que fue el código para analizar una lista de objetos JSON y asignarlos a un objeto DataTable que luego entregué a un GridView.
El único inconveniente que he visto al utilizar JSON es la indexación. Si tiene una propiedad del JSON que necesita buscar, entonces debe almacenarla como una columna separada.
Existen bases de datos JSON que pueden satisfacer mejor sus necesidades: CouchDB, MongoDB y Cassandra.
Pasamos mucho tiempo en los formularios personalizados, que por lo general contienen la misma información, la mayor parte de esa información se almacena en sólo 3-4 mesas diferentes. Entonces, si pudiera crear los formularios de forma programática y enviarlos a sus tablas apropiadas, ahorraría mucho tiempo de desarrollo en el futuro. – JKirchartz
Creo que en esa situación, probablemente todo salga bien. Al igual que Michael dice que solo será una consulta extra. Pensé que intentabas almacenar valores junto con la estructura del formulario. –