All Products
Search
Document Center

Simple Log Service:Fungsi data terstruktur

Last Updated:Jun 11, 2026

Simple Log Service (SLS) menyediakan fungsi untuk mengekstraksi dan mengonversi data terstruktur JSON, XML, dan Protobuf selama transformasi data.

Fungsi

Kategori

Fungsi

Deskripsi

JSON

json_select

Mengekstraksi atau menghitung nilai dari ekspresi JSON menggunakan sintaks JMESPath.

json_parse

Mengurai nilai menjadi objek JSON.

XML

xml_to_json

Mengonversi data XML ke JSON.

json_select

Mengekstraksi atau menghitung nilai dari ekspresi JSON menggunakan sintaks JMESPath.

  • Sintaks

    json_select(value, jmes, default=None, restrict=False)
  • Parameter

    Parameter

    Tipe

    Wajib

    Deskripsi

    value

    String, JSON

    Ya

    Ekspresi JSON atau bidang tempat mengekstraksi data.

    jmes

    String

    Ya

    Ekspresi JMESPath yang menentukan bidang yang akan diekstraksi.

    default

    String

    Tidak

    Nilai cadangan jika bidang yang ditentukan tidak ada. Default: None (tidak mengembalikan nilai).

    restrict

    Bool

    Tidak

    Apakah akan mengaktifkan mode terbatas ketika nilai yang diekstraksi bukan JSON yang valid. Default: False.

    • False: Mengabaikan error dan melanjutkan transformasi. Mengembalikan nilai default.

    • True: Melaporkan error, menghentikan transformasi, dan membuang log tersebut.

  • Respons

    Nilai yang diekstraksi.

  • Contoh

    • Contoh 1: Ekstraksi nilai elemen name dari bidang content.

      • Log mentah

        content:  {"name": "xiaoming", "age": 10}
      • Aturan transformasi

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

        content:  {"name": "xiaoming", "age": 10}
        json_filter:  xiaoming
    • Contoh 2: Ekstraksi semua nilai elemen name dari bidang content.

      • Log mentah

        content:  {"name": ["xiaoming", "xiaowang", "xiaoli"], "age": 10}
      • Aturan transformasi

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

        content:  {"name": ["xiaoming", "xiaowang", "xiaoli"], "age": 10}
        json_filter:  ["xiaoming", "xiaowang", "xiaoli"]
    • Contoh 3: Ekstraksi elemen name3. Jika tidak ada, kembalikan nilai default.

      • Log mentah

        content:  {"name": "xiaoming", "age": 10}
      • Aturan transformasi

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

        content:  {"name": "xiaoming", "age": 10}
        json_filter: None
    • Contoh 4: Ekstraksi elemen name-test (mengandung tanda hubung) dari bidang content.

      • Log mentah

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

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

        content:  {"name": {"name-test":"xiaoming"}, "age": 10}
        json_filter: xiaoming
    • Contoh 5: Ekstraksi elemen name-test (mengandung tanda hubung). Jika tidak ada, tidak ada bidang yang dikembalikan.

      • Log mentah

        content:  {"name": {"name.test":"xiaoming"}, "age": 10}
      • Aturan transformasi

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

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

json_parse

Mengurai nilai menjadi objek JSON.

  • Sintaks

    json_parse(value, default=None, restrict=False)
  • Parameter

    Parameter

    Type

    Wajib

    Deskripsi

    value

    String

    Ya

    Bidang yang akan diurai menjadi objek JSON.

    default

    String

    Tidak

    Nilai cadangan jika bidang tidak ada. Default: None (tidak mengembalikan nilai).

    restrict

    Bool

    Tidak

    Apakah akan mengaktifkan mode terbatas ketika nilai bukan JSON yang valid. Default: False.

    • False: Mengabaikan error dan melanjutkan transformasi. Mengembalikan nilai default.

    • True: Melaporkan error, menghentikan transformasi, dan membuang log tersebut.

  • Respons

    Objek JSON yang telah diurai.

  • Contoh

    • Contoh 1: Urai nilai bidang content menjadi objek JSON.

      • Log mentah

        content:  {"abc": 123, "xyz": "test" }
      • Aturan transformasi

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

        content:  {"abc": 123, "xyz": "test" }
        json:  {"abc": 123, "xyz": "test"}
    • Contoh 2: Urai bidang content. Jika nilainya bukan JSON yang valid, kembalikan nilai default.

      • Log mentah

        content: this is not json
      • Aturan transformasi

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

        content: this is not json
        json: FFF

xml_to_json

Mengonversi data XML ke JSON.

  • Sintaks

    xml_to_json(source)
  • Parameter

    Parameter

    Tipe

    Wajib

    Deskripsi

    source

    String

    Ya

    Bidang XML yang akan dikonversi.

  • Respons

    Data JSON hasil konversi.

  • Contoh

    • Log mentah

      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>
    • Aturan transformasi

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

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