Content-type: application/json
Vis-à-vis de JavaScript, un document JSON représente un objet
obj["data"]["children"].keys() obj["data"]["children"][0]["data"]["ups"]
https://search.twitter.com/search.json?q=Mali http://www.reddit.com/.json http://www.reddit.com/.xml (idem à .rss) http://api.hostip.info/get_html.php?ip=12.215.42.19&position=true http://api.hostip.info/?ip=12.215.42.19 (XML) http://api.hostip.info/get_json.php?ip=12.215.42.19&position=true
Format JSON :
{ "menu": { "id": "file", "value": "File", "popup": { "menuitem": [ { "value": "New", "onclick": "CreateNewDoc()" }, { "value": "Open", "onclick": "OpenDoc()" }, { "value": "Close", "onclick": "CloseDoc()" } ] } } }
À titre de comparaison, le même exemple en XML :
<menu id="file" value="File"> <popup> <menuitem value="New" onclick="CreateNewDoc()" /> <menuitem value="Open" onclick="OpenDoc()" /> <menuitem value="Close" onclick="CloseDoc()" /> </popup> </menu>
var donnees = eval('('+donnees_json+')')
Version sûre:
var donnees = typeof JSON !='undefined' ? JSON.parse(donnees_json) : eval('('+donnees_json+')');
Les dates sont stockées sous forme de chaînes. Les méthodes (fonctions internes) doivent aussi être converties en chaîne pour être sauvées.
localStorage.setItem('monObjet', JSON.stringify(monObjet)); var objRestauré = JSON.parse(localStorage.getItem('monObjet')); var jsonDate = (new Date()).toJSON() var maChaine=JSON.stringify(obj,null,'\t') //code JSON indentéstringify peut servir aussi à filtrer les attributs à inclure.
remplacer(clé,valeur)
si on retourne valeur undefined
la clé n'est pas incluse.
function remplaçant(clé, valeur) { if (typeof valeur === "string") { return undefined; } return valeur; } console.log(JSON.stringify(toto, remplaçant)); //vire champs textes