Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : encoder en Json un tableau array multidimensionnel [ JavaScript Orienté objet (POO) / Function & Méthodes ] (sagat06)

lundi 21 avril 2008 à 15:54:06 | encoder en Json un tableau array multidimensionnel

sagat06

Bonjour à tous,
comme le titre de ce post le laisse suggérer, je cherche à encoder en Json un tableau multidimensionnel.

Je ne connais Json que depuis quelques minutes (pardonnez mon ignorance...) mais il semblerait bien que ce soit l'une des solutions d'un de mes nombreux problèmes.
J'aimerais donc savoir s'il serait possible d'obtenir quelques exemples ou tutoriel sur l'utilisation de Json (un exemple sur l'encodage d'un tableau multidimensionnel me conviendrait   )

Pour l'instant une bref recherche sur le net me montre beaucoup d'exemple d'encodage Json à partir de php, cela me sera biensûr necessaire mais dans un second temps seulement.

En vous remerciant d'avance, à bientôt.
PS: bultez encore une fois dans les startings-blocks ??

Signé Sagat


lundi 21 avril 2008 à 16:41:53 | Re : encoder en Json un tableau array multidimensionnel

bultez

Membre Club


Bonjour,

>>mais il semblerait bien que ce soit l'une des solutions d'un de mes nombreux problèmes
    certes... mais c'est lequel de problème ?
    et qu'appelles-tu encoder ? pourquoi faire ?


                Cordialement            Bul         [mon Site]     [M'écrire]

lundi 21 avril 2008 à 17:02:05 | Re : encoder en Json un tableau array multidimensionnel

sagat06

Bonjour bultez,
toujours aussi réactif et merci de t'intéresser à mon soucis.

Voici quelques précisions qui seront peut être utile:

j'ai réalisé un projet en javascript dans l'esprit Web 2.0 (désolé pour l'effet de mode) via un jeu de frames. L'utilisateur du site intéragit dynamiquement avec le site est chacune de ses actions sont enregistrées dans des tableaux, certains multidimensionnels. (Action sur frame gauche = réaction sur frame droite).
Le tout fonctionne.

Mon soucis est désormais d'enregistrer ces mêmes actions afin que l'utilisateur du site puisse y revenir quand il le désire, afin d'y apporter des modifications ou autres. En effet, ayant tout réalisé sous javascript, l'utilisateur quittant le site perdra tout est devra tout recommencer à sa prochaine connexion.

J'avais à la base pour idée, au tout début du développement du projet, de transformer les tableaux javascript en tableau php et d'ainsi pouvoir tout simplement les enregistrer sur une base de donnée. Une simple conversion dans le sens inverse (php vers javascript) me permettrait théoriquement d'avoir mes tableaux array initialisés dès le début avec les valeurs sauvegardées: par ce biais, l'utilisateur retrouve tel qu'il l'avait laissé son travail.

En cherchant sur le net, encoder les tableaux javascript an Json me permettrait de les rendre lisible par php, donc de pouvoir les enregistrer sur une base de données.
Cependant, ne connaissant rien à JSON, j'appelle à l'aide sur ce site...

Voilà, j'espère avoir situé ma pensée.
Je demande en fait juste un tutoriel ou exemple d'un encodage en Json d'un tableau multidimensionnel

En espérant que cela vous soit utile,
à bientôt.

Signé Sagat


lundi 21 avril 2008 à 17:49:14 | Re : encoder en Json un tableau array multidimensionnel

PetoleTeam

Membre Club
Réponse acceptée !
Bonjour,
encoder les tableaux javascript an Json me permettrait de les rendre lisible par php, donc de pouvoir les enregistrer sur une base de données.
pourquoi ne pas transmettre une chaine encodée et à la récupération remettre la chaine sous forme de tableau
//-- avant envoi
var Chaine = Tableau.join('$$');
//--a reception
var Tableau = Chaine.split('$$');

;O)

lundi 21 avril 2008 à 17:52:29 | Re : encoder en Json un tableau array multidimensionnel

sagat06

Réponse acceptée !

Re.
Je crois avoir un peu avancé: j'ai fabriqué un petit exemple dont j'espère avoir quelques un de vos avis.
=>
<html><head> </head>

<script type="Text/JavaScript">

var tab=[  [8,9,10],[1,3,7,14],[99,2] ];

   //  cela semble être la manière d'encoder un tableau multidimensionnel en JSON

function changer(){
 
alert(tab[2][0]);  // donne à raison 99
}

var tabo="[1,3,7,14]";
var taboval=eval('('+tabo+')');

         // eval()  permet le décodage par javascript du tableau encodé en Json

function changer2(){
 alert(taboval[2]);   // donne à raison  7
}

var tabo2="[  [8,9,10],[1,3,7,14],[99,2] ]";
var taboval2=eval('('+tabo2+')');

function changer3(){
 alert(taboval2[1][3]);  // donne à raison 14
}

</script>

<body>
<input type="button" value="encoder" onClick="changer();">
<br><br>
<input type="button" value="encoder2" onClick="changer2();">
<br><br>
<input type="button" value="encoder3" onClick="changer3();">
</body>
</html>

Voilà les 2 sites qui m'ont aidé à aprréhender Json:
=> [ Lien ]
=>http://blog.pascal-martin.fr/post/JSON-JavaScript-Object-Notation-Presentation

Cela ressemble beaucoup à du javascript mais n'en est pas. Théoriquement, PHP est désormais capable de lire en décodant le format Json le tableau multidimensionnel. Ce qu'il ne peut faire sans.
L'idée principal de JSON étant de sérialiser les données => ça devient une chaine de caractère lisible par de nombreux langages de programmation.

Voilà, j'attends vos avis et correctifs.
Merci d'avance.

Signé Sagat


lundi 21 avril 2008 à 18:00:42 | Re : encoder en Json un tableau array multidimensionnel

sagat06

Merci PetoleTeam.

J'avais en effet pensé à cela, mais si ceci parait relativement simple pour des tableaux unidimensionnels, cela m'a semblé un peu plus compliqué lorsque l'on a affaire à des tableaux multidimensionnels avec des sous tableaux au nombre d'éléments différents.

Je ne savais pas trop comment "annoncer" la fin d'un sous tableau et le début du suivant. Il est vrai que je ne me suis pas trop casser la tête à chercher aussi, ayant de suite désirer comprendre le comment du fonctionnement de JSON, ça me semblait être ce qu'il me fallait.

Mais si tu as un exemple tout fait, je suis preneur  (ou l'art de rien faire en mettant la pression aux autres....)

Meci encore.

Signé Sagat


lundi 21 avril 2008 à 19:16:38 | Re : encoder en Json un tableau array multidimensionnel

PetoleTeam

Membre Club
Réponse acceptée !
ou l'art de rien faire en mettant la pression aux autres
à l'occasion mets la aux pneus de ma voiture...

Le tableau ci dessous
var tab=[ [8,9,10],[1,3,7,14],[99,2]];
signifie simplement
tab[0] = [8,9,10];   // tab[0] est un tableau avec 3 elements
tab[1] = [1,3,7,14]; // tab[1] est un tableau avec 4 elements

etc...
Si je réalise
var szTmp = tab.join('$');
j'obtiens
8,9,10$,1,3,7,14$99,2;
Si je réalise
tab = szTmp.split('$');
j'obtiens un tableau qui donne
8,9,10,1,3,7,14,99,2
et si je fais
alert( tab[1]);
j'obtiens
1,3,7,14
Le compte est bon...
;O)

mardi 22 avril 2008 à 23:26:50 | Re : encoder en Json un tableau array multidimensionnel

sagat06

Merci PetoleTeam,
t'as méthode est d'une logique.

J'aurai dû mettre mon cerveau en mode système D...

Bref, l'avantage principale avec Json semble être qu'il est directement compréhensible en javascript, ie: les tableaux sont normalement automatiquement générés et initialisés avec les valeurs sauvegardées.

Mais beaucoup diront que ce n'est que du chipotage.

Merci encore.

Signé Sagat




Cette discussion est classé dans : tableau, array, encoder, multidimensionnel, json


Répondre à ce message

Sujets en rapport avec ce message

Recherche dans un tableau js [ par dridri ] Bonjour,Voila j'ai une question qui m'embète pas mal. Je voudrais savoir s'il était possible de faire une recherche dans un tableau js contenant des d La porté d'un array en javascript [ par maxxcbenny ] Bonjour,Comment faire pour passer un tableau de type array dans une fonction en javascript ?Parce que voici ce que j'ai codé :var montableau=new array création dynamique d'un Tableau HTML depuis 1 array [ par durand2504 ] Bonjour, j'ai écrit un script permettant de créer un tableau HTML  depuis un array. ce script fonctionnement très bien sous firefox et safari ma Création tableau javascript via php [ par Blacknight91titi ] Bonjour,J'ai ci dessous le morceau de code de mon script qui pose problèmepreview = new Array(      <FONT Bug avec array::length [ par Checker_Bobby ] Bonjour, je savais pas trop ou mettre la remarque suivante... J'ai constater un truc "bizarre" avec JavaScript qui m'a bien tordu l'esprit avant que j 2 Select liés ensemble [ par folkene ] Voila je me suis un peu inspirer de ce que j'ai trouvé sur ce forum, je l'ai modifié mais je l'ai mal fait, resultat mes tableau se créent bien, mes f Trier tableau généré en js [ par way2web ] Bonjour,j'ai créé un script me permettant de générer un tableau html à partir de données stockées dans un array à 2 dimensions. L'affichage est correc tableau [ par metos ] bonjour,j'ai un soucis, dans mon site web j'utilise un tableau javascript créer dans une page js. le début du tableau est le suivant : var itemarray = Comment typer des objets JSON [ par AlexN ] 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 d DHTML fonctionne sous Firefox, Safari mais pas IE [ par durand2504 ]


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,234 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.