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:
let json = '[1, 2, 3, 4, 5, "a", "b"]';
Tehdään nyt merkkijono, joka sisältää objektin JSON-muodossa:
let json = `{
"a": "aaa",
"b": "bbb",
"c": "ccc",
"111": "ddd"
}`;
Näitä rakenteita voi yhdistellä missä tahansa järjestyksessä:
let 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:
let 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:
let json = '[null, true, false]';
Annettu taulukko:
let arr = [1, 2, 3, 'a', 'b', 'c'];
Muunna tämä taulukko manuaalisesti merkkijonoksi JSON-muodossa.
Annettu objekti:
let obj = {
a: 1,
b: 2,
c: 'eee',
d: true,
};
Muunna tämä objekti manuaalisesti merkkijonoksi JSON-muodossa.
Annettu objekti:
let obj = {
a: ['a', 'b', 'c',],
b: '111',
c: 'eee',
};
Muunna tämä objekti manuaalisesti merkkijonoksi JSON-muodossa.