tipo sintaxis recorrer parsejson incorrecta guardar dato cerca json sql forms

recorrer - sintaxis incorrecta cerca de ''json''.



¿Almacenar JSON en una base de datos msSQL? (7)

Creo que no es una idea óptima almacenar datos de objetos en una cadena en SQL. Tienes que hacer una transformación fuera de SQL para analizarla. Eso presenta un problema de rendimiento y se pierde el poder de usar la capacidad de análisis de datos nativos de SQL. Una mejor manera sería almacenar JSON como un tipo de datos XML en SQL. De esta manera, mata dos pájaros de un tiro: no tiene que crear una carga de tablas de mierda y aún así obtener todos los beneficios de SQL nativos de consulta.

XML en SQL Server 2005? Mejor que JSON en Varchar?

Estoy desarrollando un generador de formularios y me pregunto si sería un error mojo almacenar JSON en una base de datos SQL.

Quiero mantener mi base de datos y tablas simples, así que iba a tener

`pKey, formTitle, formJSON`

en una mesa, y luego almacenar

{["firstName":{"required":"true","type":"text"},"lastName":{"required":"true","type":"text"}}

en formJSON.

Cualquier entrada es apreciada.



Hemos utilizado una versión modificada de XML para el propósito exacto en el que se describe durante siete u ocho años y funciona muy bien. Las necesidades de formularios de nuestros clientes son tan diversas que nunca podríamos mantenernos al día con un enfoque de tabla / columna. Estamos demasiado lejos en el camino XML para cambiar muy fácilmente, pero creo que JSON también funcionaría y tal vez mejor.

Los informes no son un problema con un par de buenas funciones de análisis y yo desafiaría a cualquiera a encontrar una diferencia significativa en el rendimiento entre nuestros informes / análisis y una solución de tabla / columna para esta necesidad.


Será más lento que tener el formulario definido en el código, pero una consulta adicional no debería causarle mucho daño. (¡No dejes que 1 consulta extra se convierta en 10 consultas adicionales!)

Editar: Si selecciona la fila mediante formTitle lugar de pKey (lo haría, porque entonces su código será más legible), ponga un índice en formTitle


Una forma brillante de hacer una base de datos de objetos desde el servidor SQL. Hago esto para todos los objetos de configuración y todo lo demás que no necesita ninguna consulta específica. extender su objeto: fácil, solo cree una nueva propiedad en su clase e inicie con el valor predeterminado. ¿No necesitas una propiedad más? Solo bórralo en la clase. Fácil despliegue, fácil actualización. No es adecuado para todos los objetos, pero si extrae cualquier objeto que necesite indexar, siga usándolo. Muy moderna forma de usar servidor sql.


Utilizo JSON ampliamente en mi CMS (que alberga aproximadamente 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 la velocidad. Cada objeto en el CMS (Página, Diseño, Lista, Tema, etc.) tiene una columna NVARCHAR (MAX) llamada Configuración JSON. Mi herramienta ORM sabe buscar esa columna y reconstituirla como un objeto si es necesario. O, dependiendo de la situación, simplemente lo pasaré al cliente para que jQuery o Ext JS lo procesen.

En cuanto a la legibilidad / mantenibilidad de mi código, podría decir que ha mejorado porque ahora tengo clases que representan muchos de los objetos JSON almacenados en la base de datos.

Utilicé JSON.net para toda serialización / deserialización. https://www.newtonsoft.com/json

También utilizo una sola consulta para devolver meta-JSON con los datos reales. Al igual que en el caso de Ext JS, tengo consultas que devuelven tanto la estructura del objeto Ext JS como los datos que necesitará el objeto. Esto elimina un post / ida y vuelta a SQL.

También me sorprendió lo rápido que era 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 usar JSON es la indexación. Si tiene una propiedad del JSON que necesita buscar, entonces debe almacenarla como una columna separada.

Hay JSON DB por ahí que podrían satisfacer mejor sus necesidades: CouchDB, MongoDB y Cassandra.


Yo no lo recomendaría.

Si alguna vez desea hacer un informe o una consulta basada en estos valores en el futuro, esto hará que su vida sea mucho más difícil que tener algunas tablas / columnas adicionales.

¿Por qué estás evitando hacer nuevas mesas? Digo que si su aplicación requiere que sigan adelante y agréguelas ... Además, si alguien tiene que revisar su código / db más adelante, probablemente será más difícil para ellos averiguar qué estaba pasando (dependiendo del tipo de documentación que tiene).