Johdatus JSON-muotoon JavaScriptissä

Joskus on tarpeen muuntaa tietorakenne, kuten taulukko tai objekti, merkkijonoksi. Tämä voi olla tarpeen esimerkiksi lähettääkseen tämän rakenteen internetin yli tai tallentaakseen sen johonkin tallennustilaan.

Tätä varten JavaScriptissä keksittiin erityinen JSON-muoto.

JSON-muoto voi sisältää yhden kahdesta rakenteesta: joko taulukon tai objektin avain-arvo-pareilla . Taulukot ja objektit rakennetaan samalla tavalla kuin JavaScriptissä, mutta niissä on rajoitus: kaikki merkkijonot ja objektien merkkijonoavaimet on oltava lainausmerkeissä.

Tehdään esimerkiksi merkkijono, joka sisältää taulukon JSON-muodossa:

javascriptlet json = '[1, 2, 3, 4, 5, "a", "b"]';

Tehdään nyt merkkijono, joka sisältää objektin JSON-muodossa:

javascriptlet json = `{
  "a": "aaa",
  "b": "bbb",
  "c": "ccc",
  "111": "ddd"
}`;

Näitä rakenteita voi yhdistellä missä tahansa järjestyksessä:

javascriptlet json = `[
  {
    "a": "aaa",
    "b": "bbb"
  },
  {
    "c": "ccc",
    "d": "ddd"
  }
]`;

Toisin kuin JavaScriptin rakenteissa, JSON:ssa pilkut viimeisten elementtien jälkeen taulukoissa ja objekteissa eivät ole sallittuja:

javascriptlet json = '[1, 2, 3, 4, 5,]'; // väärin
let json = '[1, 2, 3, 4, 5]';  // oikein

Lukujen ja merkkijonojen lisäksi elementteinä voi olla myös arvot true, false ja null:

javascriptlet json = '[null, true, false]';
Задание 1

Annettu taulukko:

javascriptlet arr = [1, 2, 3, 'a', 'b', 'c'];

Muunna tämä taulukko manuaalisesti merkkijonoksi JSON-muodossa.

Задание 2

Annettu objekti:

javascriptlet obj = {
  a: 1,
  b: 2,
  c: 'eee',
  d: true,
};

Muunna tämä objekti manuaalisesti merkkijonoksi JSON-muodossa.

Задание 3

Annettu objekti:

javascriptlet obj = {
  a: ['a', 'b', 'c',],
  b: '111',
  c: 'eee',
};

Muunna tämä objekti manuaalisesti merkkijonoksi JSON-muodossa.