Tous les produits
Search
Centre de documentation

Simple Log Service:Fonctions de données structurées

Dernière mise à jour :Aug 18, 2026

Simple Log Service (SLS) propose des fonctions pour extraire et convertir des données structurées aux formats JSON, XML et Protobuf lors de la transformation des données.

Fonctions

Catégorie

Fonction

Description

JSON

json_select

Extrait ou calcule des valeurs à partir d'une expression JSON en utilisant la syntaxe JMESPath.

json_parse

Analyse une valeur pour la convertir en objet JSON.

XML

xml_to_json

Convertit des données XML au format JSON.

json_select

Extrait ou calcule des valeurs à partir d'une expression JSON en utilisant la syntaxe JMESPath.

  • Syntaxe

    json_select(value, jmes, default=None, restrict=False)
  • Paramètres

    Paramètre

    Type

    Obligatoire

    Description

    value

    String, JSON

    Oui

    Expression JSON ou champ source à partir duquel extraire les données.

    jmes

    String

    Oui

    Expression JMESPath spécifiant le champ à extraire.

    default

    String

    Non

    Valeur de secours renvoyée si le champ spécifié n'existe pas. Valeur par défaut : None (aucune valeur renvoyée).

    restrict

    Bool

    Non

    Active le mode restreint lorsque la valeur extraite n'est pas un JSON valide. Valeur par défaut : False.

    • False : ignore l'erreur et poursuit la transformation. Renvoie la valeur default.

    • True : signale une erreur, interrompt la transformation et rejette le journal.

  • Réponse

    La valeur extraite.

  • Exemples

    • Exemple 1 : extraire la valeur de l'élément name depuis le champ content.

      • Journal brut

        content:  {"name": "xiaoming", "age": 10}
      • Règle de transformation

        e_set("json_filter",json_select(v("content"), "name"))
      • Résultat

        content:  {"name": "xiaoming", "age": 10}
        json_filter:  xiaoming
    • Exemple 2 : extraire toutes les valeurs de l'élément name depuis le champ content.

      • Journal brut

        content:  {"name": ["xiaoming", "xiaowang", "xiaoli"], "age": 10}
      • Règle de transformation

        e_set("json_filter", json_select(v("content"), "name[*]"))
      • Résultat

        content:  {"name": ["xiaoming", "xiaowang", "xiaoli"], "age": 10}
        json_filter:  ["xiaoming", "xiaowang", "xiaoli"]
    • Exemple 3 : extraire l'élément name3. S'il n'existe pas, renvoyer la valeur par défaut.

      • Journal brut

        content:  {"name": "xiaoming", "age": 10}
      • Règle de transformation

        e_set("json_filter", json_select(v("content"), "name3", default="None"))
      • Résultat

        content:  {"name": "xiaoming", "age": 10}
        json_filter: None
    • Exemple 4 : extraire l'élément name-test (contenant un trait d'union) depuis le champ content.

      • Journal brut

        content:  {"name": {"name-test":"xiaoming"}, "age": 10}
      • Règle de transformation

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

        content:  {"name": {"name-test":"xiaoming"}, "age": 10}
        json_filter: xiaoming
    • Exemple 5 : extraire l'élément name-test (contenant un trait d'union). S'il n'existe pas, aucun champ n'est renvoyé.

      • Journal brut

        content:  {"name": {"name.test":"xiaoming"}, "age": 10}
      • Règle de transformation

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

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

json_parse

Analyse une valeur pour la convertir en objet JSON.

  • Syntaxe

    json_parse(value, default=None, restrict=False)
  • Paramètres

    Paramètre

    Type

    Obligatoire

    Description

    value

    String

    Oui

    Champ à analyser pour obtenir un objet JSON.

    default

    String

    Non

    Valeur de secours renvoyée si le champ n'existe pas. Valeur par défaut : None (aucune valeur renvoyée).

    restrict

    Bool

    Non

    Active le mode restreint lorsque la valeur n'est pas un JSON valide. Valeur par défaut : False.

    • False : ignore l'erreur et poursuit la transformation. Renvoie la valeur default.

    • True : signale une erreur, interrompt la transformation et rejette le journal.

  • Réponse

    L'objet JSON analysé.

  • Exemples

    • Exemple 1 : analyser la valeur du champ content pour obtenir un objet JSON.

      • Journal brut

        content:  {"abc": 123, "xyz": "test" }
      • Règle de transformation

        e_set("json", json_parse(v("content")))
      • Résultat

        content:  {"abc": 123, "xyz": "test" }
        json:  {"abc": 123, "xyz": "test"}
    • Exemple 2 : analyser le champ content. Si la valeur n'est pas un JSON valide, renvoyer la valeur par défaut.

      • Journal brut

        content: this is not json
      • Règle de transformation

        e_set("json", json_parse(v("content"), default="FFF", restrict=False))
      • Résultat

        content: this is not json
        json: FFF

xml_to_json

Convertit des données XML au format JSON.

  • Syntaxe

    xml_to_json(source)
  • Paramètres

    Paramètre

    Type

    Obligatoire

    Description

    source

    String

    Oui

    Champ XML à convertir.

  • Réponse

    Les données JSON converties.

  • Exemples

    • Journal brut

      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>
    • Règle de transformation

      e_set("str_json",xml_to_json(v("str")))
    • Résultat

      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"}]}]}}