none
Generar json sin escapar diagonales. Sql server 2016 RRS feed

  • Pregunta

  • Que tal!

    Tengo una tabla que tiene como información las ruta y nombres de archivos, algo parecido a:

    create table analyseunit_doc(

    ...

    path varchar(max),

    name varchar(max),

    ...

    )

    Estoy formando un json que entre otros datos contiene el path, ejemplo

    {

    ....

     "path" : "303/API

    ...

    }

    El problema es que sql server me regresa:

    {

    ...

    "path":"303\/API"

    ....

    }

    Cree los siguientes queries para tratar de entender este comportamiento:

    select json_query
           (
            (
              select json_value('{"x":"' + path + '"}', "$.x") path
                from analyseunit_doc
                where idanalyseunit = 303
                for json path, WITHOUT_ARRAY_WRAPPER
            )
           )

    select (
               select  path from analyseunit_doc where idanalyseunit = 303
           ) path
      for json path

    y siempre escapa sql server la diagonal del path:

    - 1er query: {"path":"303\/API"}

    - 2o query: [{"path":"303\/API"}]

    No puedo hacer lo siguiente:

    select json_query('{"path": "' + (select  path from analyseunit_doc where idanalyseunit = 303 ) +'"}')

    por que esto seria  agregar un nivel a mi json

    Alguno sugerencia de como solucionar este problema?

    De antemano muchas gracias por su atención!

    lunes, 14 de septiembre de 2020 20:01