¿Cuál es el mejor tipo de datos SQL para almacenar cadenas JSON?¿Cuál es el mejor tipo de datos SQL para almacenar cadenas JSON?
static List<ProductModel> CreateProductList()
{
string json = @"[
{
ProductId: 1,
ProductCode: 'A',
Product: 'A'
},
{
ProductId: 2,
ProductCode: 'B',
Product: 'B'
}
]";
IList<JToken> tokenList = JToken.Parse(json).ToList();
List<ProductModel> productList = new List<ProductModel>();
foreach (JToken token in tokenList)
{
productList.Add(JsonConvert.DeserializeObject<ProductModel>(token.ToString()));
}
return productList;
}
¿Qué tipo de datos SQL debemos usar para almacenar una cadena que contenga JSON?
NVARCHAR(255)
?TEXT
?VARBINARY(MAX)
?
Solo un poco de ruido al azar (el comentario, no los datos): Es posible que desee comprimirlo también. En ese caso necesitas algo binario. Por otro lado, ¿por qué no diseñar tablas adecuadas para los datos? –
@El clavo: a veces, almacenar algo como JSON (o como un "documento") es adecuado para la necesidad. Al igual que para un motor de flujo de trabajo o gestión de documentos, etc ... Estoy haciendo esto en un proyecto actual, pasando realmente de enfoque relacional a documento por el lado del comando de mi implementación CQRS. Es muy rápido si usa un serializador como ServiceStack o JSON.Net. – swannee