function obj2Str(obj){
switch(typeof(obj) ){
case 'objet' :
var ret = [];
if (obj instanceof Array){
for (var i = 0, len = obj.length; i < len; i ){
ret.push(obj2Str(obj[i]));
}
return '[' ret.join(',') ']';
}
else if (obj instanceof RegExp){
return obj.toString();
}
else{
for (var a in obj){
ret.push(a ':' obj2Str(obj[a]));
}
return '{' ret.join(',') '}';
}
case 'fonction' :
return 'function() {}';
case 'numéro' :
return obj.toString();
case 'string' :
return """ obj.replace(/(\|")/g, "\$1").replace(/n|r|t/g, function(a) { return ("n"==a)?"\n":("r"==a)?"\r":("t"==a)?"\t":"";}) "" ";
case 'boolean' :
return obj.toString();
par défaut :
return obj.toString();
}
}