Skip to content Skip to sidebar Skip to footer

JSON vs XML, inilah Perbandingan dari Kedua Bahasa Konfigurasi Pemrograman (Programming Configuration Languages)

Assalamu‘alaikum wr. wb.

Hello gais! Jika ingin menyimpan sebuah Data di dalam Web, tentunya sudah tidak asing lagi yang namanya JSON dan XML terutama sudah akrab bagi Web Developer. JSON merupakan Turunan dari Javascript, dan XML adalah Bahasa Markup mirip HTML.



Pada artikel kali ini kita akan membahas Pengertian, Fungsi, serta Kegunaan dari JSON untuk pembuatan Website.

PENGERTIAN DAN SEJARAH JSON DAN XML

A. JSON

1. Apa itu JSON?

Seperti yang sudah dijelaskan sebelumnya, JavaScript Object Notation atau yang lebih dikenal dengan JSON adalah merupakan sebuah format yang digunakan untuk menyimpan, membaca, serta menukar informasi dari web server sehingga dapat dibaca oleh para pengguna. Biasanya, file JSON berisikan teks dan file berekstensi .json. JSON ini berbeda dengan XML namun keduanya memiliki fungsi yang serupa.

JSON ini sendiri terdiri dari 2 (Dua) Struktur atau Bagian. Yang Pertama adalah kumpulan value yang saling berpasangan contohnya seperti object. Struktur Kedua adalah kumpulan value yang berurutan seperti misalnya array. Selain itu, JSON dapat digunakan oleh bahasa pemrograman lain seperti PHP, Python, C++, dan Ruby.

2. Sejarah Singkat JSON

Berikut adalah landmark penting yang membentuk sejarah JSON :
  • Douglas Crockford menetapkan format JSON pada awal 2000-an.
  • Situs web resmi diluncurkan pada Tahun 2002.
  • Pada bulan Desember 2005, Yahoo! mulai menawarkan beberapa layanan webnya di JSON.
  • JSON menjadi standar internasional ECMA pada Tahun 2013.
  • Standar format JSON terbaru diterbitkan pada Tahun 2017.

B. XML

1. Apa itu XML?

XML adalah bahasa markup yang dapat diperluas yang dirancang untuk menyimpan data. Ini populer digunakan untuk mentransfer data. Ini peka huruf besar-kecil. XML memungkinkan Anda untuk mendefinisikan elemen markup dan menghasilkan bahasa markup yang disesuaikan. Elemen adalah unit dasar dalam bahasa XML. Ekstensi file XML adalah .xml.

XML memiliki dua cara penanganan data, yaitu Tag dan Atribut. Tag berfungsi sebagai HTML. Tag awal dimulai dengan <_> dan diakhiri dengan </_>. Tag awal dan akhir harus cocok. Nama hanya boleh berupa huruf, angka, dan garis bawah, dan nama tag harus dimulai dengan huruf saja.

2. Sejarah Singkat XML

Berikut adalah landmark penting dari sejarah XML :
  • XML juga diturunkan dari SGML.
  • Versi 1.0 dari XML dirilis pada Februari 1998.
  • Jan 2001 : Standar yang Diusulkan IETF adalah Jenis Media XML
  • XML adalah Bahasa Markup yang Dapat Diperluas.
  • 1970 : Charles Goldfarb, Ed Mosher, dan Ray Lorie menemukan GML
  • Pengembangan XML dimulai pada Tahun 1996 di Sun Microsystem


PERBANDINGAN JSON DAN XML

A. Kesamaan antara JSON dan XML

Berikut ini adalah Kesamaan antara JSON dan XML :
  • Menggambarkan sendiri: Baik JSON dan XML menggambarkan diri sendiri karena data XML dan data JSON adalah teks yang dapat dibaca manusia.
  • Hirarki : Baik JSON dan xml mendukung struktur hierarki. Di sini hierarkis berarti bahwa nilai-nilai di dalam nilai-nilai.
  • Format pertukaran data: JSON dan XML dapat digunakan sebagai format pertukaran data oleh banyak bahasa pemrograman yang berbeda.
  • Parse: Kedua format dapat dengan mudah diuraikan.
  • Ambil: Kedua format dapat diambil dengan menggunakan permintaan HTTP. Metode yang digunakan untuk mengambil data adalah GET, PUT, POST.

B. Perbedaan antara JSON dan XML

Berikut ini adalah perbedaan antara JSON dan XML :

1. Elemen

Yang pertama adalah cara menyimpan elemen,  JSON menyimpan elemennya secara efisien akan tetapi tidak rapi untuk dilihat. Sedangkan XML menyimpan elemen-elemen nya dengan cara yang terstruktur, mudah dibaca oleh manusia dan mesin, akan tetapi kurang efisien.

2. Ekstensi File

Nama dari file JSON akan diakhiri dengan ekstensi .json. Sementara file XML akan diakhiri dengan ekstensi .xml.

3. Penerapan

Untuk penerapannya, JSON digunakan untuk mengirimkan data dengan cara data diuraikan dan dikirimkan melalui internet. Sedangkan XML memiliki data yang lebih terstruktur dan pengguna dapat menggunakannya untuk menambahkan catatan.

Untuk lebih jelasnya, silakan lihat pada Tabel berikut ini (Sumber Tabel : Javatpoint.com) :

JSON
XML
JSON adalah singkatan dari Javascript Object Notation.
XML adalah singkatan dari Extensible Markup Language.
Ekstensi file JSON adalah .json.
Ekstensi file XML adalah .xml.
Jenis media Internet adalah application/json.
Jenis media Internet adalah application/xml atau text/xml.
Jenis format dalam JSON adalah pertukaran data.
Jenis format dalam XML adalah bahasa markup.
Itu diperpanjang dari Javascript.
Ini diperpanjang dari SGML.
Ini adalah open-source artinya kita tidak perlu membayar apapun untuk menggunakan JSON.
Ini juga open source.
Objek yang dibuat di JSON memiliki beberapa tipe.
Data XML tidak memiliki tipe apa pun.
Tipe data yang didukung oleh JSON adalah Strings, Numbers, Booleans, Null, Array.
Data XML dalam format String.
Itu tidak memiliki kapasitas untuk menampilkan data.
XML adalah bahasa markup, sehingga memiliki kapasitas untuk menampilkan konten.
JSON tidak memiliki Tag.
Data XML direpresentasikan dalam tag, yaitu Tag awal dan Tag akhir.

File XML lebih besar. Jika kita ingin merepresentasikan data dalam XML maka itu akan membuat file yang lebih besar dibandingkan dengan JSON.
JSON lebih cepat untuk membaca dan menulis.
File XML membutuhkan waktu untuk membaca dan menulis karena kurva belajarnya lebih tinggi.
JSON dapat menggunakan array untuk merepresentasikan data.
XML tidak mengandung konsep array.
Itu dapat diuraikan oleh fungsi Javascript standar. Itu harus diuraikan sebelum digunakan.
Data XML yang digunakan untuk pertukaran data, harus diurai sesuai dengan bahasa pemrogramannya agar dapat digunakan.
Itu dapat dengan mudah diuraikan dan sedikit kode diperlukan untuk menguraikan data.
Sulit untuk diurai. (It is difficult to parse.)
Ukuran File lebih kecil dibandingkan dengan XML.
Ukuran File lebih besar.
JSON Berorientasi Data.
XML adalah Berorientasi Dokumen.
Ini kurang aman daripada XML.
Ini lebih aman daripada JSON.


C. Kelebihan dan Kekurangan JSON dan XML

Setelah mengetahui penjelasan dari JSON dan perbedaan JSON dengan XML, sekarang kita akan membahas mengenai kelebihan dan kekurangan dari JSON berikut ini.

1. Kelebihan
  • Dapat menyimpan data dalam bentuk array dan menjadikan transfer data menjadi lebih mudah.
  • Sintaks yang lebih ringan dan berukuran lebih kecil.
  • Mendukung beberapa bahasa pemrograman lain.
  • Lebih cepat dalam parsing data di sisi server.

2. Kekurangan
  • Format penulisannya agak sulit untuk dipahami.
  • Rentan terhadap hacking.


PERBANDINGAN SINTAKS JSON DAN XML

Sumber Contoh : JSON.org

Berikut inilah beberapa Contoh dari Sintaks JSON dan XML.

Pegawai dalam Perusahaan

JSON :

{"employees":[
    { "firstName":"John", "lastName":"Doe" },
    { "firstName":"Anna", "lastName":"Smith" },
    { "firstName":"Peter", "lastName":"Jones" }
]}
XML :

<employees>
  <employee>
    <firstName>John</firstName> <lastName>Doe</lastName>
  </employee>
  <employee>
    <firstName>Anna</firstName> <lastName>Smith</lastName>
  </employee>
  <employee>
    <firstName>Peter</firstName> <lastName>Jones</lastName>
  </employee>
</employees>
Data Diriku (My Biodata)

JSON :

{
    "firstName": "Inzaghi",
    "lastName": "Posuma Alkahfi",
    "place" : "Tangerang",
    "birth": "17/09/2002",
    "hobbies": ["Coding", "Blogging", "Running", "Cycling"],
    "url": "https://inzaghiposuma.blogspot.com",
    "sosmed": {
        "instagram": "inzaghiposuma",
        "tiktok": "inzaghiposumaalka",
        "line": "inzaghipa",
        "whatsapp": "08134396XXXX"
    }
}
XML :

<root>
    <firstName>Inzaghi</firstName>
    <lastName>Posuma Alkahfi</lastName>
    <place>Tangerang</place>
    <birth>17/09/2002</birth>
    <hobbies>Coding</hobbies>
    <hobbies>Blogging</hobbies>
    <hobbies>Running</hobbies>
    <hobbies>Cycling</hobbies>
    <url>https://inzaghiposuma.blogspot.com</url>
    <sosmed>
        <instagram>inzaghiposuma</instagram>
        <tiktok>inzaghiposumaalka</tiktok>
        <line>inzaghipa</line>
        <whatsapp>08134396XXXX</whatsapp>
    </sosmed>
</root>
Data COVID-19 Indonesia (8 Juni 2022 / 8 Dzulqa'dah 1443 H)

JSON :

{
    "covidCases": [
        {
            "confirm":"6058180",
            "death": "156628",
            "recovered": "5897630",
            "active": "3922",
            "passive": "6054258"
        }
    ],
    "covidTestes": [
        {
            "test":"65480193",
            "speciment": "99254486",
            "negative": "59422013"
        }
    ],
    "covidVaccination": [
        {
            "firstDose":"200681903",
            "secondDose": "167859558",
            "thirdDose": "47103351"
        }
    ]
}
XML :

<root>
    <covidCases>
        <confirm>6058180</confirm>
        <death>156628</death>
        <recovered>5897630</recovered>
        <active>3922</active>
        <passive>6054258</passive>
    </covidCases>
    <covidTestes>
        <test>65480193</test>
        <speciment>99254486</speciment>
        <negative>59422013</negative>
    </covidTestes>
    <covidVaccination>
        <firstDose>200681903</firstDose>
        <secondDose>167859558</secondDose>
        <thirdDose>47103351</thirdDose>
    </covidVaccination>
</root>
Membuka File

JSON :

{"menu": {
    "id": "file",
    "value": "File",
    "popup": {
        "menuitem": [
            {"value": "New", "onclick": "CreateNewDoc()"},
            {"value": "Open", "onclick": "OpenDoc()"},
            {"value": "Close", "onclick": "CloseDoc()"}
        ]
    }
}}
XML :

<menu id="file" value="File">
  <popup>
    <menuitem value="New" onclick="CreateNewDoc()" />
    <menuitem value="Open" onclick="OpenDoc()" />
    <menuitem value="Close" onclick="CloseDoc()" />
  </popup>
</menu>
Scheduling Implementation Interface

JSON :

{
    "Window": {
      "-x:Class": "WpfApp1.MainWindow",
      "-xmlns": "http://schemas.microsoft.com/winfx/2006/xaml/presentation",
      "-xmlns:x": "http://schemas.microsoft.com/winfx/2006/xaml",
      "-xmlns:d": "http://schemas.microsoft.com/expression/blend/2008",
      "-xmlns:mc": "http://schemas.openxmlformats.org/markup-compatibility/2006",
      "-xmlns:local": "clr-namespace:WpfApp1",
      "-mc:Ignorable": "d",
      "-Background": "LightGreen",
      "-Title": "MainWindow",
      "-Height": "500",
      "-Width": "500",
      "Grid": {
        "Grid.Resources": {
          "Style": [
            {
              "-TargetType": "StackPanel",
              "Setter": {
                "-Property": "Margin",
                "-Value": "40",
                "-self-closing": "true"
              }
            },
            {
              "-TargetType": "TextBlock",
              "Setter": {
                "-Property": "FontSize",
                "-Value": "25",
                "-self-closing": "true"
              }
            }
          ]
        },
        "Grid.ColumnDefinitions": {
          "ColumnDefinition": [
            {},
            {}
          ]
        },
        "Grid.RowDefinitions": {
          "RowDefinition": [
            {},
            {},
            {}
          ]
        },
        "StackPanel": [
          {
            "-Grid.Row": "0",
            "-Grid.Column": "0",
            "TextBlock": {
              "-Text": "{Binding Info1}"
            },
            "Slider": {
              "-Value": "{Binding ValueSlider1}",
              "-Maximum": "1000",
              "-TickPlacement": "BottomRight",
              "-TickFrequency": "1000",
              "-self-closing": "true"
            }
          },
          {
            "-Grid.Row": "0",
            "-Grid.Column": "1",
            "TextBlock": {
              "-Text": "{Binding Info2}"
            },
            "Slider": {
              "-Value": "{Binding ValueSlider2}",
              "-Maximum": "1000",
              "-TickPlacement": "BottomRight",
              "-TickFrequency": "1000",
              "-self-closing": "true"
            }
          },
          {
            "-Grid.Row": "1",
            "-Grid.Column": "0",
            "TextBlock": {
              "-Text": "{Binding Info3}"
            },
            "Slider": {
              "-Value": "{Binding ValueSlider3}",
              "-Maximum": "1000",
              "-TickPlacement": "BottomRight",
              "-TickFrequency": "1000",
              "-self-closing": "true"
            }
          },
          {
            "-Grid.Row": "1",
            "-Grid.Column": "1",
            "TextBlock": {
              "-Text": "{Binding Info4}"
            },
            "Slider": {
              "-Value": "{Binding ValueSlider4}",
              "-Maximum": "1000",
              "-TickPlacement": "BottomRight",
              "-TickFrequency": "1000",
              "-self-closing": "true"
            }
          },
          {
            "-Grid.Row": "2",
            "-Grid.Column": "0",
            "-Grid.ColumnSpan": "2",
            "TextBlock": {
              "-Text": "{Binding InfoAll}"
            }
          }
        ]
      }
    },
    "#omit-xml-declaration": "yes"
}
XML :

<Window x:Class="WpfApp1.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:WpfApp1"
        mc:Ignorable="d"
        Background="LightGreen"
        Title="MainWindow" Height="500" Width="500">
    <Grid>
        <Grid.Resources >
            <Style TargetType="StackPanel" >
                <Setter Property="Margin" Value="40" />
            </Style>
            <Style TargetType="TextBlock" >
                <Setter Property="FontSize" Value="25" />
            </Style>
        </Grid.Resources>
        <Grid.ColumnDefinitions>
            <ColumnDefinition></ColumnDefinition>
            <ColumnDefinition></ColumnDefinition>
        </Grid.ColumnDefinitions>
        <Grid.RowDefinitions>
            <RowDefinition></RowDefinition>
            <RowDefinition></RowDefinition>
            <RowDefinition></RowDefinition>
        </Grid.RowDefinitions>

        <StackPanel Grid.Row="0" Grid.Column="0">
            <TextBlock Text="{Binding Info1}"></TextBlock>
            <Slider Value="{Binding ValueSlider1}" Maximum="1000" TickPlacement="BottomRight" TickFrequency="1000" />
        </StackPanel>

        <StackPanel Grid.Row="0" Grid.Column="1">
            <TextBlock Text="{Binding Info2}"></TextBlock>
            <Slider Value="{Binding ValueSlider2}" Maximum="1000" TickPlacement="BottomRight" TickFrequency="1000" />
        </StackPanel>

        <StackPanel Grid.Row="1" Grid.Column="0">
            <TextBlock Text="{Binding Info3}"></TextBlock>
            <Slider Value="{Binding ValueSlider3}" Maximum="1000" TickPlacement="BottomRight" TickFrequency="1000" />
        </StackPanel>

        <StackPanel Grid.Row="1" Grid.Column="1">
            <TextBlock Text="{Binding Info4}"></TextBlock>
            <Slider Value="{Binding ValueSlider4}" Maximum="1000" TickPlacement="BottomRight" TickFrequency="1000" />
        </StackPanel>

        <StackPanel Grid.Row="2" Grid.Column="0" Grid.ColumnSpan="2">
            <TextBlock Text="{Binding InfoAll}"></TextBlock>
        </StackPanel>
    </Grid>
</Window>
Multi-Parallel Scheduling Program

JSON :

{
    "Window": {
      "-x:Class": "ParalelComputation.MainWindow",
      "-xmlns": "http://schemas.microsoft.com/winfx/2006/xaml/presentation",
      "-xmlns:x": "http://schemas.microsoft.com/winfx/2006/xaml",
      "-xmlns:d": "http://schemas.microsoft.com/expression/blend/2008",
      "-xmlns:mc": "http://schemas.openxmlformats.org/markup-compatibility/2006",
      "-xmlns:local": "clr-namespace:ParalelComputation",
      "-mc:Ignorable": "d",
      "-Background": "LightGreen",
      "-Title": "MainWindow",
      "-Height": "500",
      "-Width": "300",
      "Grid": {
        "Grid.Resources": {
          "Style": [
            {
              "-TargetType": "StackPanel",
              "Setter": {
                "-Property": "Margin",
                "-Value": "40",
                "-self-closing": "true"
              }
            },
            {
              "-TargetType": "TextBlock",
              "Setter": {
                "-Property": "FontSize",
                "-Value": "18",
                "-self-closing": "true"
              }
            }
          ]
        },
        "Grid.ColumnDefinitions": {
          "ColumnDefinition": {
          }
        },
        "Grid.RowDefinitions": {
          "RowDefinition": [
            {
              "-Height": "3*"
            },
            {}
          ]
        },
        "ListView": {
          "-Background": "LightGreen",
          "-ItemsSource": "{Binding PerProcesses}",
          "ListView.ItemTemplate": {
            "DataTemplate": {
              "StackPanel": {
                "-Orientation": "Vertical",
                "TextBlock": [
                  {
                    "-Foreground": "Blue",
                    "-Text": "{Binding Index}"
                  },
                  {
                    "-Text": "{Binding Info}"
                  }
                ],
                "Slider": {
                  "-Value": "{Binding ValueSlider}",
                  "-Maximum": "1000",
                  "-TickPlacement": "BottomRight",
                  "-TickFrequency": "1000",
                  "-self-closing": "true"
                }
              }
            }
          }
        },
        "StackPanel": {
          "-Grid.Row": "1",
          "-Grid.Column": "0",
          "-Grid.ColumnSpan": "2",
          "TextBlock": {
            "-Text": "{Binding InfoAll}"
          }
        }
      }
    },
    "#omit-xml-declaration": "yes"
}
XML :

<Window x:Class="ParalelComputation.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:ParalelComputation"
        mc:Ignorable="d"
        Background="LightGreen"
        Title="MainWindow" Height="500" Width="300">
    <Grid>
        <Grid.Resources >
            <Style TargetType="StackPanel" >
                <Setter Property="Margin" Value="40" />
            </Style>
            <Style TargetType="TextBlock" >
                <Setter Property="FontSize" Value="18" />
            </Style>
        </Grid.Resources>
        <Grid.ColumnDefinitions>
            <ColumnDefinition></ColumnDefinition>
        </Grid.ColumnDefinitions>
        <Grid.RowDefinitions>
            <RowDefinition Height="3*"></RowDefinition>
            <RowDefinition></RowDefinition>
        </Grid.RowDefinitions>

        <ListView Background="LightGreen" ItemsSource="{Binding PerProcesses}">
            <ListView.ItemTemplate>
                <DataTemplate>
                    <StackPanel  Orientation="Vertical">
                        <TextBlock Foreground="Blue" Text="{Binding Index}"></TextBlock>
                        <TextBlock Text="{Binding Info}"></TextBlock>
                        <Slider Value="{Binding ValueSlider}" Maximum="1000" TickPlacement="BottomRight" TickFrequency="1000" />
                    </StackPanel>
                </DataTemplate>
            </ListView.ItemTemplate>
        </ListView>

        <StackPanel Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="2">
            <TextBlock Text="{Binding InfoAll}"></TextBlock>
        </StackPanel>
    </Grid>
</Window>
Widget, Image, File

JSON :

{"widget": {
    "debug": "on",
    "window": {
        "title": "Sample Konfabulator Widget",
        "name": "main_window",
        "width": 500,
        "height": 500
    },
    "image": {
        "src": "Images/Sun.png",
        "name": "sun1",
        "hOffset": 250,
        "vOffset": 250,
        "alignment": "center"
    },
    "text": {
        "data": "Click Here",
        "size": 36,
        "style": "bold",
        "name": "text1",
        "hOffset": 250,
        "vOffset": 100,
        "alignment": "center",
        "onMouseUp": "sun1.opacity = (sun1.opacity / 100) * 90;"
    }
}}
XML :

<widget>
    <debug>on</debug>
    <window title="Sample Konfabulator Widget">
        <name>main_window</name>
        <width>500</width>
        <height>500</height>
    </window>
    <image src="Images/Sun.png" name="sun1">
        <hOffset>250</hOffset>
        <vOffset>250</vOffset>
        <alignment>center</alignment>
    </image>
    <text data="Click Here" size="36" style="bold">
        <name>text1</name>
        <hOffset>250</hOffset>
        <vOffset>100</vOffset>
        <alignment>center</alignment>
        <onMouseUp>
            sun1.opacity = (sun1.opacity / 100) * 90;
        </onMouseUp>
    </text>
</widget>
Web Pages

JSON :

{"web-app": {
    "servlet": [  
        {
          "servlet-name": "cofaxCDS",
          "servlet-class": "org.cofax.cds.CDSServlet",
          "init-param": {
            "configGlossary:installationAt": "Philadelphia, PA",
            "configGlossary:adminEmail": "ksm@pobox.com",
            "configGlossary:poweredBy": "Cofax",
            "configGlossary:poweredByIcon": "/images/cofax.gif",
            "configGlossary:staticPath": "/content/static",
            "templateProcessorClass": "org.cofax.WysiwygTemplate",
            "templateLoaderClass": "org.cofax.FilesTemplateLoader",
            "templatePath": "templates",
            "templateOverridePath": "",
            "defaultListTemplate": "listTemplate.htm",
            "defaultFileTemplate": "articleTemplate.htm",
            "useJSP": false,
            "jspListTemplate": "listTemplate.jsp",
            "jspFileTemplate": "articleTemplate.jsp",
            "cachePackageTagsTrack": 200,
            "cachePackageTagsStore": 200,
            "cachePackageTagsRefresh": 60,
            "cacheTemplatesTrack": 100,
            "cacheTemplatesStore": 50,
            "cacheTemplatesRefresh": 15,
            "cachePagesTrack": 200,
            "cachePagesStore": 100,
            "cachePagesRefresh": 10,
            "cachePagesDirtyRead": 10,
            "searchEngineListTemplate": "forSearchEnginesList.htm",
            "searchEngineFileTemplate": "forSearchEngines.htm",
            "searchEngineRobotsDb": "WEB-INF/robots.db",
            "useDataStore": true,
            "dataStoreClass": "org.cofax.SqlDataStore",
            "redirectionClass": "org.cofax.SqlRedirection",
            "dataStoreName": "cofax",
            "dataStoreDriver": "com.microsoft.jdbc.sqlserver.SQLServerDriver",
            "dataStoreUrl": "jdbc:microsoft:sqlserver://LOCALHOST:1433;DatabaseName=goon",
            "dataStoreUser": "sa",
            "dataStorePassword": "dataStoreTestQuery",
            "dataStoreTestQuery": "SET NOCOUNT ON;select test='test';",
            "dataStoreLogFile": "/usr/local/tomcat/logs/datastore.log",
            "dataStoreInitConns": 10,
            "dataStoreMaxConns": 100,
            "dataStoreConnUsageLimit": 100,
            "dataStoreLogLevel": "debug",
            "maxUrlLength": 500}},
        {
          "servlet-name": "cofaxEmail",
          "servlet-class": "org.cofax.cds.EmailServlet",
          "init-param": {
          "mailHost": "mail1",
          "mailHostOverride": "mail2"}},
        {
          "servlet-name": "cofaxAdmin",
          "servlet-class": "org.cofax.cds.AdminServlet"},
   
        {
          "servlet-name": "fileServlet",
          "servlet-class": "org.cofax.cds.FileServlet"},
        {
          "servlet-name": "cofaxTools",
          "servlet-class": "org.cofax.cms.CofaxToolsServlet",
          "init-param": {
            "templatePath": "toolstemplates/",
            "log": 1,
            "logLocation": "/usr/local/tomcat/logs/CofaxTools.log",
            "logMaxSize": "",
            "dataLog": 1,
            "dataLogLocation": "/usr/local/tomcat/logs/dataLog.log",
            "dataLogMaxSize": "",
            "removePageCache": "/content/admin/remove?cache=pages&id=",
            "removeTemplateCache": "/content/admin/remove?cache=templates&id=",
            "fileTransferFolder": "/usr/local/tomcat/webapps/content/fileTransferFolder",
            "lookInContext": 1,
            "adminGroupID": 4,
            "betaServer": true}}],
    "servlet-mapping": {
        "cofaxCDS": "/",
        "cofaxEmail": "/cofaxutil/aemail/*",
        "cofaxAdmin": "/admin/*",
        "fileServlet": "/static/*",
        "cofaxTools": "/tools/*"},
   
    "taglib": {
        "taglib-uri": "cofax.tld",
        "taglib-location": "/WEB-INF/tlds/cofax.tld"
    }
}}
XML :

<?xml version="1.0" encoding="ISO-8859-1"?>

<!DOCTYPE web-app
    PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"
    "http://java.sun.com/j2ee/dtds/web-app_2.2.dtd">
<web-app>
    <servlet>
        <servlet-name>
            cofaxCDS
        </servlet-name>
        <servlet-class>
            org.cofax.cds.CDSServlet
        </servlet-class>

         <init-param>
          <param-name>configGlossary:installationAt</param-name>
      <param-value>Philadelphia, PA</param-value>
        </init-param>
        <init-param>
          <param-name>configGlossary:adminEmail</param-name>
      <param-value>ksm@pobox.com</param-value>
        </init-param>
        <init-param>
          <param-name>configGlossary:poweredBy</param-name>
      <param-value>Cofax</param-value>
        </init-param>
        <init-param>
          <param-name>configGlossary:poweredByIcon</param-name>
      <param-value>/images/cofax.gif</param-value>
        </init-param>
        <init-param>
          <param-name>configGlossary:staticPath</param-name>
      <param-value>/content/static</param-value>
        </init-param>

     <init-param>
          <param-name>templateProcessorClass</param-name>
      <param-value>org.cofax.WysiwygTemplate</param-value>
        </init-param>

    <init-param>
          <param-name>templateLoaderClass</param-name>
      <param-value>org.cofax.FilesTemplateLoader</param-value>
        </init-param>

         <init-param>
          <param-name>templatePath</param-name>
      <param-value>templates</param-value>
        </init-param>

        <init-param>
          <param-name>templateOverridePath</param-name>
      <param-value></param-value>
        </init-param>

     <init-param>
          <param-name>defaultListTemplate</param-name>
      <param-value>listTemplate.htm</param-value>
        </init-param>

       <init-param>
          <param-name>defaultFileTemplate</param-name>
      <param-value>articleTemplate.htm</param-value>
        </init-param>

       <init-param>
          <param-name>useJSP</param-name>
      <param-value>false</param-value>
        </init-param>

    <init-param>
          <param-name>jspListTemplate</param-name>
      <param-value>listTemplate.jsp</param-value>
        </init-param>

       <init-param>
          <param-name>jspFileTemplate</param-name>
      <param-value>articleTemplate.jsp</param-value>
        </init-param>

     <init-param>
          <param-name>cachePackageTagsTrack</param-name>
      <param-value>200</param-value>
        </init-param>

    <init-param>
          <param-name>cachePackageTagsStore</param-name>
      <param-value>200</param-value>
        </init-param>

    <init-param>
          <param-name>cachePackageTagsRefresh</param-name>
      <param-value>60</param-value>
        </init-param>

     <init-param>
          <param-name>cacheTemplatesTrack</param-name>
      <param-value>100</param-value>
        </init-param>

    <init-param>
          <param-name>cacheTemplatesStore</param-name>
      <param-value>50</param-value>
        </init-param>

    <init-param>
          <param-name>cacheTemplatesRefresh</param-name>
      <param-value>15</param-value>
        </init-param>

    <init-param>
          <param-name>cachePagesTrack</param-name>
      <param-value>200</param-value>
        </init-param>

    <init-param>
          <param-name>cachePagesStore</param-name>
      <param-value>100</param-value>
        </init-param>

    <init-param>
          <param-name>cachePagesRefresh</param-name>
      <param-value>10</param-value>
        </init-param>

    <init-param>
          <param-name>cachePagesDirtyRead</param-name>
      <param-value>10</param-value>
        </init-param>

     <init-param>
          <param-name>searchEngineListTemplate</param-name>
      <param-value>forSearchEnginesList.htm</param-value>
        </init-param>

       <init-param>
          <param-name>searchEngineFileTemplate</param-name>
      <param-value>forSearchEngines.htm</param-value>
        </init-param>

       <init-param>
          <param-name>searchEngineRobotsDb</param-name>
      <param-value>WEB-INF/robots.db</param-value>
        </init-param>

    <init-param>
          <param-name>useDataStore</param-name>
      <param-value>true</param-value>
        </init-param>

     <init-param>
          <param-name>dataStoreClass</param-name>
      <param-value>org.cofax.SqlDataStore</param-value>
        </init-param>

        <init-param>
          <param-name>redirectionClass</param-name>
      <param-value>org.cofax.SqlRedirection</param-value>
        </init-param>
        <init-param>
          <param-name>dataStoreName</param-name>
      <param-value>cofax</param-value>
        </init-param>

        <init-param>
          <param-name>dataStoreDriver</param-name>
      <param-value>com.microsoft.jdbc.sqlserver.SQLServerDriver</param-value>
        </init-param>

         <init-param>
          <param-name>dataStoreUrl</param-name>
      <param-value>jdbc:microsoft:sqlserver://LOCALHOST:1433;DatabaseName=goon</param-value>
        </init-param>

        <init-param>
          <param-name>dataStoreUser</param-name>
      <param-value>sa</param-value>
        </init-param>

         <init-param>
          <param-name>dataStorePassword</param-name>
      <param-value></param-value>
        </init-param>

         <init-param>
          <param-name>dataStoreTestQuery</param-name>
      <param-value>SET NOCOUNT ON;select test='test';</param-value>
        </init-param>

         <init-param>
          <param-name>dataStoreLogFile</param-name>
      <param-value>/usr/local/tomcat/logs/datastore.log</param-value>
        </init-param>

         <init-param>
          <param-name>dataStoreInitConns</param-name>
      <param-value>10</param-value>
        </init-param>

         <init-param>
          <param-name>dataStoreMaxConns</param-name>
      <param-value>100</param-value>
        </init-param>

         <init-param>
          <param-name>dataStoreConnUsageLimit</param-name>
      <param-value>100</param-value>
        </init-param>
 <init-param>
          <param-name>dataStoreLogLevel</param-name>
      <param-value>debug</param-value>
        </init-param>

     <init-param>
          <param-name>maxUrlLength</param-name>
      <param-value>500</param-value>
        </init-param>

    </servlet>

     <servlet>
        <servlet-name>
            cofaxEmail
        </servlet-name>
        <servlet-class>
            org.cofax.cds.EmailServlet
        </servlet-class>

         <init-param>
          <param-name>mailHost</param-name>
      <param-value>mail1</param-value>
        </init-param>

        <init-param>
          <param-name>mailHostOverride</param-name>
      <param-value>mail2</param-value>
        </init-param>
    </servlet>

    <servlet>
        <servlet-name>
            cofaxAdmin
        </servlet-name>
        <servlet-class>
            org.cofax.cds.AdminServlet
        </servlet-class>
    </servlet>

    <servlet>
         <servlet-name>
             fileServlet
         </servlet-name>
         <servlet-class>
             org.cofax.cds.FileServlet
         </servlet-class>
    </servlet>

   <servlet>
        <servlet-name>
            cofaxTools
        </servlet-name>
        <servlet-class>
            org.cofax.cms.CofaxToolsServlet
        </servlet-class>

         <init-param>
          <param-name>templatePath</param-name>
          <param-value>toolstemplates/</param-value>
        </init-param>

         <init-param>
          <param-name>log</param-name>
          <param-value>1</param-value>
        </init-param>

         <init-param>
          <param-name>logLocation</param-name>
          <param-value>/usr/local/tomcat/logs/CofaxTools.log</param-value>
        </init-param>

         <init-param>
          <param-name>logMaxSize</param-name>
          <param-value></param-value>
        </init-param>

         <init-param>
          <param-name>dataLog</param-name>
          <param-value>1</param-value>
        </init-param>

         <init-param>
          <param-name>dataLogLocation</param-name>
          <param-value>/usr/local/tomcat/logs/dataLog.log</param-value>
        </init-param>

         <init-param>
          <param-name>dataLogMaxSize</param-name>
          <param-value></param-value>
        </init-param>

         <init-param>
          <param-name>removePageCache</param-name>
          <param-value>/content/admin/remove?cache=pages&id=</param-value>
        </init-param>

         <init-param>
          <param-name>removeTemplateCache</param-name>
          <param-value>/content/admin/remove?cache=templates&id=</param-value>
        </init-param>

         <init-param>
          <param-name>fileTransferFolder</param-name>
          <param-value>/usr/local/tomcat/webapps/content/fileTransferFolder</param-value>
        </init-param>

         <init-param>
          <param-name>lookInContext</param-name>
          <param-value>1</param-value>
        </init-param>

        <init-param>
          <param-name>adminGroupID</param-name>
          <param-value>4</param-value>
        </init-param>

        <init-param>
          <param-name>betaServer</param-name>
          <param-value>true</param-value>
        </init-param>

    </servlet>

    <servlet-mapping>
    <servlet-name>
    cofaxCDS
    </servlet-name>
    <url-pattern>
    /
    </url-pattern>
    </servlet-mapping>

    <servlet-mapping>
    <servlet-name>
    cofaxEmail
    </servlet-name>
    <url-pattern>
    /cofaxutil/aemail/*
    </url-pattern>
    </servlet-mapping>

    <servlet-mapping>
        <servlet-name>
        cofaxAdmin
        </servlet-name>
        <url-pattern>
        /admin/*
        </url-pattern>
    </servlet-mapping>

    <servlet-mapping>
         <servlet-name>
         fileServlet
         </servlet-name>
         <url-pattern>
         /static/*
         </url-pattern>
     </servlet-mapping>

  <servlet-mapping>
        <servlet-name>
        cofaxTools
        </servlet-name>
        <url-pattern>
        /tools/*
        </url-pattern>
    </servlet-mapping>

   <taglib>
      <taglib-uri>cofax.tld</taglib-uri>
      <taglib-location>/WEB-INF/tlds/cofax.tld</taglib-location>
   </taglib>

</web-app>
Dan masih banyak lagi Sintaks-sintaks JSON dan XML. Dan untuk melihat Artikel tentang Scheduling Program Implementation, silakan lihat di sini.


Itulah Perbandingan Perbedaan antara JSON dan XML yang telah kita bahas sekarang. Mohon maaf apabila ada sedikit kesalahan dalam penulisan Kode Program sedikitpun.

Terima Kasih šŸ˜„šŸ˜˜šŸ‘ŒšŸ‘ :)

Wassalamu‘alaikum wr. wb.

Ads