Bonjour,
Mon problème : comment typer des objets JSON en utilisant la syntaxe JSON dans un tableau javascript de sorte que lorsqu'on utilise un objet du tableau, il soit utilisé en tant qu'objet de sa classe et non en tant que simple Object ?
le code :
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Untitled</title>
</head>
<body>
<script>
function myObject(a,b) {
this.a = a;
this.b = b;
}
myObject.prototype = {
toString : function() {
return " a = " + this.a + " b = " + this.b;
}
};
var myArrayObject = [ new myObject('a', 'b'), new myObject('aa', 'bb') ];
var myArray = [
{ 'a' : "a", 'b' : "b" },
{ 'a' : "aa", 'b' : "bb" }
];
for ( i = 0; i < myArray.length; i++ )
document.write(myArray[i].toString()+"</br>");
for ( i = 0; i < myArrayObject.length; i++ )
document.write(myArrayObject[i].toString()+"</br>");
</script>
</body>
</html>
la sortie :
[object Object]
[object Object]
a = a b = b
a = aa b = bb
Ce qui se passe :
Le tableau myArray est initialisé avec des objets JSON. Mais ils ne sont pas reconnu comme des objets de la classe myObject. (la surcharge de toString() n'est pas invoquée).
Le tableau myArrayObject est initialisé avec des objet javascript. Ils sont reconnus comme tels et la surcharge de la méthode toString() est bien invoquée.
Existe-t-il une syntaxe permettant d'initialiser un tableau javascript à partir de la syntaxe JSON de sorte que les objets soient bien du type voulu (myObject) ?
Merci pour vos suggestions.