passer un tableau d'objets avec une notation json
Citation:
Envoyé par
Subshadow
Plus personne ne peux m'aider?
Doucement, doucement, on a une vie professionnelle , nous aussi.
Citation:
Envoyé par
Subshadow
Oui bien sûr, seulement dans mon cas je suis obligé de créer un objet.
C'est pour passer en JSON, et au début avec un tableau ça ne fonctionnais pas.
Je ne comprends pas ce que tu dis. On peut très bien passer un tableau d'objet en json :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>passer un tableau d objets avec une notation json</title>
<meta http-equiv="Content-type" content="text/html; charset=UTF-8" />
<style type="text/css">
</style>
</head>
<body>
<div id="json"></div>
<script type="text/javascript">
var FC = {
Ajax: {
requete: function() {
if(window.XMLHttpRequest) { return new XMLHttpRequest(); }
else if(window.ActiveXObject) { return new ActiveXObject("Microsoft.XMLHTTP"); }
else { return false; }
}(),
obtenir: function(typeDeReponse, source, fonction) {
var requete = FC.Ajax.requete;
if(!requete) { return false; }
requete.onreadystatechange = function() {
if(requete.readyState===4 && requete.status===200) {
if(fonction) {
if(typeDeReponse==="xml") {
fonction(FC.DOM.nettoyerDocument(requete.responseXML.documentElement));
} else { fonction(requete.responseText); }
}
}
}
requete.open("GET", source, true);
requete.send(null);
}
},
DOM: {
nettoyerDocument: function(xmldoc) {
var elements = xmldoc.getElementsByTagName("*");
for(var i=0, imax=elements.length; i<imax; i++){
var frerePrecedent = elements[i].previousSibling;
var frereSuivant = elements[i].nextSibling;
if(frerePrecedent && frerePrecedent.nodeType===3) { FC.DOM.nettoyerNoeud(frerePrecedent); }
if(frereSuivant && frereSuivant.nodeType===3) { FC.DOM.nettoyerNoeud(frereSuivant); }
}
return xmldoc;
},
nettoyerNoeud: function(element) {
if(!element.data.replace(/\s/g,'')) { element.parentNode.removeChild(element); }
}
}
}
FC.Ajax.obtenir("text", "json.txt", function(json) {
var obj = document.createElement("script");
obj.setAttribute("type", "text/javascript");
obj.text = "var o = "+ json +";";
document.getElementById("json").appendChild(obj);
alert(o[1].p1);
});
</script>
</body>
</html> |
Code:
[{p1:"blah",p2:"bleh"},{p1:"blih",p2:"bloh"}]