TABLA SQL a JSON sin información de columna SQL
Nov 26 2020
Estoy tratando de analizar los datos de la tabla en JSON y, en el proceso, quiero omitir los nombres de las columnas de la tabla en la conversión de publicaciones a JSON. A continuación se muestra el fragmento de muestra.
DECLARE @table1 TABLE (k1 nvarchar(max), v1 nvarchar(max))
-- Note k1 is unique
INSERT INTO @table1 (k1,v1) VALUES( 'Apple', 'One')
INSERT INTO @table1 (k1,v1) VALUES( 'Banana', 'Two')
INSERT INTO @table1 (k1,v1) VALUES( 'Orange', 'Three')
SELECT k1, v1 FROM @table1
FOR JSON PATH, WITHOUT_ARRAY_WRAPPER
--output: {"k1":"Apple","v1":"One"},{"k1":"Banana","v1":"Two"},{"k1":"Orange","v1":"Three"}
-- Expected: {"Apple","One"},{"Banana","Two"},{"Orange","Three"}
¡Apreciamos la dirección!
Respuestas
1 lptr Nov 27 2020 at 12:51
- concatenación y agregación de cadenas (string_agg () para sql2017 y posteriores o para xml path () para sql2016)
select string_agg(concat('{"', string_escape(k1, 'json'), '":"', string_escape(v1, 'json'), '"}'), ',') /*within group (order by k1)*/
from @table1