全部产品
Search
文档中心

Simple Log Service:Fungsi data terstruktur

更新时间:Jun 26, 2025

Topik ini menjelaskan sintaksis dan parameter fungsi data terstruktur. Data terstruktur mencakup data JSON dan XML. Topik ini juga memberikan contoh penggunaan fungsi-fungsi tersebut.

Fungsi

KategoriFungsiDeskripsi
JSONjson_selectMengekstrak atau menghitung nilai tertentu dari ekspresi JSON dengan menggunakan JMESPath.
json_parseMem-parsing nilai menjadi objek JSON.
XMLxml_to_jsonMengonversi data XML menjadi data JSON.

json_select

Fungsi json_select mengekstrak atau menghitung nilai tertentu dari ekspresi JSON menggunakan JMESPath.
  • json_select(value, jmes, default=None, restrict=False)
  • ParameterTipeDiperlukanDeskripsi
    valueString dan JSONYaEkspresi JSON input atau field.
    jmesStringYaEkspresi JMESPath. Ekspresi ini menentukan field yang nilainya diekstraksi.
    defaultStringTidakNilai yang dikembalikan jika field yang ditentukan tidak ada. Nilai default: None, yang berarti tidak ada field yang dikembalikan.
    restrictBoolTidakMenentukan apakah akan mengaktifkan mode terbatas jika nilai field yang ditentukan dalam format JSON tidak valid. Nilai default: False. Nilai valid:
    • False: Masalah format tidak valid diabaikan, dan sistem melanjutkan transformasi data. Nilai parameter default dikembalikan.
    • True: Masalah format tidak valid dilaporkan, dan sistem menghentikan transformasi data. Log dibuang.
  • Nilai yang diekstraksi dikembalikan.

    • Contoh 1: Mengekstrak nilai field name dari field 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: Mengekstrak semua nilai field name dari field 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: Mengekstrak nilai field name3 dari field content. Jika field name3 tidak ada, nilai parameter default dikembalikan.
      • 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: Mengekstrak nilai elemen name-test dari field 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: Mengekstrak nilai elemen name-test dari field content. Jika elemen name-test tidak ada, tidak ada field 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

Fungsi json_parse mem-parsing nilai menjadi objek JSON.
  • json_parse(value, default=None, restrict=False)
  • ParameterTipeDiperlukanDeskripsi
    valueStringYaField input.
    defaultStringTidakNilai yang dikembalikan jika field yang ditentukan tidak ada. Nilai default: None, yang berarti tidak ada field yang dikembalikan.
    restrictBoolTidakMenentukan apakah akan mengaktifkan mode terbatas jika nilai field yang ditentukan dalam format JSON tidak valid. Nilai default: False. Nilai valid:
    • False: Masalah format tidak valid diabaikan, dan sistem melanjutkan transformasi data. Nilai parameter default dikembalikan.
    • True: Masalah format tidak valid dilaporkan, dan sistem menghentikan transformasi data. Log dibuang.
  • Objek JSON dikembalikan.

    • Contoh 1: Mengekstrak nilai JSON dari field content.
      • 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: Mengekstrak nilai field content. Jika nilai tersebut bukan dalam format JSON, nilai parameter default dikembalikan.
      • 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

Fungsi xml_to_json mengonversi data XML menjadi data JSON.
  • xml_to_json(source)
  • ParameterTipeDiperlukanDeskripsi
    sourceStringYaField input.
  • Data dalam format JSON dikembalikan.

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