Bonsoir � tous,

Je r��cris ce message apr�s que mon pav� est �t� perdu suite � une d�connexion du forum

Je suis face � un gros soucis. J'ai fais pas mal de recherche en JSON pour le r�soudre sans r�el succ�s.

En gros je fais une appli en Javascript (quelle id�e aussi ^^) pour r�cup�rer des flux RSS sur une appli mobile via phonegap (une api qui permet de faire des applis mobiles avec des langages web). Ces flux sont class�s en cat�gorie.

J'ai un fichier de configuration sur un serveur distant en JSON qui contient les cat�gories et leur flux :

Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
 
{
	"Categories": [
 
		{ 	
			"nomCategorie" : "Transport",
			"flux" : [
 
				{
					"nomFlux" : "SNCF : Information",
					"adresseFlux" : "http://www.ter-sncf.com/Regions/Auvergne/Fr/Transverses/FluxRss/FluxRss_Actus.aspx"
				},
				{
					"nomFlux" : "T2C",
					"adresseFlux" : "http://www.t2c.fr/rss.xml"
				}
 
			]
		},
		{
 
			"nomCategorie" : "TOTO",
			"flux" : ....
Avant c'�tait tout en XML donc parseur tableau et tout mais c'est plus tr�s propre et json est plus adapt� ici.

Donc gr�ce � $.getJSON(adresseDeMonFichierDeConfig) je r�cup�re le tout sous forme d'un objet JSON. Maintenant, l'appli doit fonctionner hors ligne donc j'ai une base SQLite sur mon t�l�phone contenant la m�me chose. MAIS ! Si on modifie le fichier de config on modifie la table. Des cat�gories ou flux peuvent donc s'ajouter ou disparaitre.

Et c'est l� mon probl�me car actuellement je fais toute la comparaison en tableau JS et c'est tr�s moche et lourd ! et en plus j'ai reconverti mon objet JSON en tableau -_- *boulet!!!!*

Code : S�lectionner tout - Visualiser dans une fen�tre � part
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
 
function comparaison(){
	var tableauCategorieASupprimer = new Array();
	var tableauFluxASupprimer = new Array();
 
        //Parcourt du tableau de catégories + flux de la base de données.
	for(var i = 0; i<tableauCategorieBDD.length; i++)
	{
                //Si La config ne contient pas une entrée en base alors on la met dans le tableau des entrées à supprimer.  
		if(tableauCategorie.indexOf(tableauCategorieBDD[i]) == '-1'){
 
			tableauCategorieASupprimer.push(tableauCategorieBDD[i]);
 
		}
 
                //Pareil pour les flux mais ça ne marche pas pour le coup enfin je sais pas trop. Mais si je règle le soucis avec les catégories je pourrais me débrouiller.
		for(var l=0; l<tableauCategorieBDD[i]["flux"].length; i++)
		{
			if(tableauCategorie[i]["flux"].indexOf(tableauCategorieBDD[i]['flux'][l]) == '-1')
			{
				tableauCategorieBDD[i]['flux'].splice(tableauCategorieBDD[i]['flux'].indexOf(tableauCategorieBDD[i]['flux'][l]),1);
 
			}
 
		}
 
 
	}
 
        //Là on parcourt le tableau de config du serveur distant
	for(var j =0; j<tableauCategorie.length; j++)
	{
               //Si une catégorie du fichier distant n'est pas dans le tableau de la base de donnée alors on l'ajoute. 
		if(tableauCategorieBDD.indexOf(tableauCategorie[j]) == '-1')
		{
			tableauCategorieBDD.push(tableauCategorie[j]);
		}	
 
                //Pareil pour les flux
		for(var m=0; m<tableauCategorie[j]['flux'].length; m++)
		{
			if(tableauCategorieBDD.indexOf(tableauCategorie[j]['flux'][m]) == '-1')
			{
				tableauCategorieBDD[j]['flux'].push(tableauCategorie[j]['flux'][m]);
			}
		}
	}
 
        //On supprime les categories mises dans le tableau a supprimer du tableau categorieBaseDeDonnée
	for(var n = 0; n<tableauCategorieASupprimer.length; n++)
	{
tableauCategorieBDD.splice(tableauCategorieBDD.indexOf(tableauCategorieASupprimer[n]), 1);
	}
}
Donc, selon moi, � la fin on devrait avoir :
tableauCategorieBDD qui contient toutes les cat�gories et leurs flux � ajouter en base de donn�es.
tableauASupprimer qui contient toutes les cat�gories et leurs flux � supprimer dans la base de donn�e.

Probl�me 1 : � la fin le tableauCategorieBDD est vide

Probl�me 2 : le plus important : Je voudrais garder mon objet JSON de base, r�cup�rer mes infos de la BDD sous forme de tableau (phonegap oblige) et convertir se tableau en un objet JSON et comparer les deux objets JSON.

Et l� ... c'est le drame...
J'ai pas mal cherch� mais on parle du JSon beaucoup pour partager des donn�es ou beaucoup avec PHP mais le probl�me c'est que l'API ne prend que le JS/JQUERY/JSON etc ...

Pouvez-vous m'aider ? Pistes, conseils .... Je suis ouvert � tout !

PS : j'ai honte de sortir un code pareil ...

EDIT : A la rigueur je transforme mon tableau que je cr�er en r�cup�rant la base de donn�e en une chaine de caract�re sous forme JSON, je fais mes comparaison (je suis preneur de tuyaux pour comparer des objets JSON) et j'enregistre les diff�rences dans deux tableau : A supprimer, a ajouter.

Qu'en pensez-vous ?