Todos los productos
Search
Centro de documentos

Simple Log Service:Funciones de datos estructurados

Última actualización: Sep 02, 2026

Simple Log Service (SLS) ofrece funciones para extraer y convertir datos estructurados en formatos JSON, XML y Protobuf durante la transformación de datos.

Funciones

Categoría

Función

Descripción

JSON

json_select

Extrae o calcula valores de una expresión JSON mediante la sintaxis JMESPath.

json_parse

Analiza un valor y lo convierte en un objeto JSON.

XML

xml_to_json

Convierte datos XML a JSON.

json_select

Extrae o calcula valores de una expresión JSON mediante la sintaxis JMESPath.

  • Sintaxis

    json_select(value, jmes, default=None, restrict=False)
  • Parámetros

    Parámetro

    Tipo

    Obligatorio

    Descripción

    value

    String, JSON

    Sí

    La expresión JSON o el campo del que se extraerán los datos.

    jmes

    String

    Sí

    La expresión JMESPath que especifica el campo por extraer.

    default

    String

    No

    El valor alternativo si el campo especificado no existe. Valor predeterminado: None (no se devuelve ningún valor).

    restrict

    Bool

    No

    Indica si se habilita el modo restringido cuando el valor extraído no es un JSON válido. Valor predeterminado: False.

    • False: Ignora el error y continúa con la transformación. Devuelve el valor default.

    • True: Reporta un error, detiene la transformación y descarta el registro.

  • Respuesta

    El valor extraído.

  • Ejemplos

    • Ejemplo 1: Extraer el valor del elemento name del campo content.

      • Registro sin procesar

        content:  {"name": "xiaoming", "age": 10}
      • Regla de transformación

        e_set("json_filter",json_select(v("content"), "name"))
      • Resultado

        content:  {"name": "xiaoming", "age": 10}
        json_filter:  xiaoming
    • Ejemplo 2: Extraer todos los valores del elemento name del campo content.

      • Registro sin procesar

        content:  {"name": ["xiaoming", "xiaowang", "xiaoli"], "age": 10}
      • Regla de transformación

        e_set("json_filter", json_select(v("content"), "name[*]"))
      • Resultado

        content:  {"name": ["xiaoming", "xiaowang", "xiaoli"], "age": 10}
        json_filter:  ["xiaoming", "xiaowang", "xiaoli"]
    • Ejemplo 3: Extraer el elemento name3. Si no existe, devolver el valor predeterminado.

      • Registro sin procesar

        content:  {"name": "xiaoming", "age": 10}
      • Regla de transformación

        e_set("json_filter", json_select(v("content"), "name3", default="None"))
      • Resultado

        content:  {"name": "xiaoming", "age": 10}
        json_filter: None
    • Ejemplo 4: Extraer el elemento name-test (que contiene un guion) del campo content.

      • Registro sin procesar

        content:  {"name": {"name-test":"xiaoming"}, "age": 10}
      • Regla de transformación

        e_set("json_filter", json_select(v("content"), 'name."name-test"', default=None))
      • Resultado

        content:  {"name": {"name-test":"xiaoming"}, "age": 10}
        json_filter: xiaoming
    • Ejemplo 5: Extraer el elemento name-test (que contiene un guion). Si no existe, no se devuelve ningún campo.

      • Registro sin procesar

        content:  {"name": {"name.test":"xiaoming"}, "age": 10}
      • Regla de transformación

        e_set("json_filter", json_select(v("content"), 'name."name-test"', default=None))
      • Resultado

        content:  {"name": {"name-test":"xiaoming"}, "age": 10}

json_parse

Analiza un valor y lo convierte en un objeto JSON.

  • Sintaxis

    json_parse(value, default=None, restrict=False)
  • Parámetros

    Parámetro

    Tipo

    Obligatorio

    Descripción

    value

    String

    Sí

    El campo que se analizará para convertirlo en un objeto JSON.

    default

    String

    No

    El valor alternativo si el campo no existe. Valor predeterminado: None (no se devuelve ningún valor).

    restrict

    Bool

    No

    Indica si se habilita el modo restringido cuando el valor no es un JSON válido. Valor predeterminado: False.

    • False: Ignora el error y continúa con la transformación. Devuelve el valor default.

    • True: Reporta un error, detiene la transformación y descarta el registro.

  • Respuesta

    El objeto JSON analizado.

  • Ejemplos

    • Ejemplo 1: Analizar el valor del campo content y convertirlo en un objeto JSON.

      • Registro sin procesar

        content:  {"abc": 123, "xyz": "test" }
      • Regla de transformación

        e_set("json", json_parse(v("content")))
      • Resultado

        content:  {"abc": 123, "xyz": "test" }
        json:  {"abc": 123, "xyz": "test"}
    • Ejemplo 2: Analizar el campo content. Si el valor no es un JSON válido, devolver el valor predeterminado.

      • Registro sin procesar

        content: this is not json
      • Regla de transformación

        e_set("json", json_parse(v("content"), default="FFF", restrict=False))
      • Resultado

        content: this is not json
        json: FFF

xml_to_json

Convierte datos XML a JSON.

  • Sintaxis

    xml_to_json(source)
  • Parámetros

    Parámetro

    Tipo

    Obligatorio

    Descripción

    source

    String

    Sí

    El campo XML que se convertirá.

  • Respuesta

    Los datos JSON convertidos.

  • Ejemplos

    • Registro sin procesar

      str : <data><country name="Liechtenstein"><rank>1</rank><year>2008</year><gdppc>141100</gdppc><neighbor name="Austria" direction="E"/><neighbor name="Switzerland" direction="W"/></country><country name="Singapore"><rank>4</rank><year>2011</year><gdppc>59900</gdppc><neighbor name="Malaysia" direction="N"/></country><country name="Panama"><rank>68</rank><year>2011</year><gdppc>13600</gdppc><neighbor name="Costa Rica" direction="W"/><neighbor name="Colombia" direction="E"/></country></data>
    • Regla de transformación

      e_set("str_json",xml_to_json(v("str")))
    • Resultado

      str:<data><country name="Liechtenstein"><rank>1</rank><year>2008</year><gdppc>141100</gdppc><neighbor name="Austria" direction="E"/><neighbor name="Switzerland" direction="W"/></country><country name="Singapore"><rank>4</rank><year>2011</year><gdppc>59900</gdppc><neighbor name="Malaysia" direction="N"/></country><country name="Panama"><rank>68</rank><year>2011</year><gdppc>13600</gdppc><neighbor name="Costa Rica" direction="W"/><neighbor name="Colombia" direction="E"/></country></data>
      str_json:{"data": {"country": [{"@name": "Liechtenstein", "rank": "1", "year": "2008", "gdppc": "141100", "neighbor": [{"@name": "Austria", "@direction": "E"}, {"@name": "Switzerland", "@direction": "W"}]}, {"@name": "Singapore", "rank": "4", "year": "2011", "gdppc": "59900", "neighbor": {"@name": "Malaysia", "@direction": "N"}}, {"@name": "Panama", "rank": "68", "year": "2011", "gdppc": "13600", "neighbor": [{"@name": "Costa Rica", "@direction": "W"}, {"@name": "Colombia", "@direction": "E"}]}]}}