예제 #1
0
        static void Main(string[] args)
        {
            Class1 class1  = new Class1();
            string routier = class1.GetConnect("http://data.metromobilite.fr/api/linesNear/json?x=5.709360123&y=45.176494599999984&dist=1400&details=true ");
            // déserialisation on met dans une variable donnees le résultat de l'opération depuis la ResponseFromServer
            List <StructureJson> donnees = JsonConvert.DeserializeObject <List <StructureJson> >(routier);


            string           routes       = class1.GetConnect("http://data.metromobilite.fr/api/routers/default/index/routes ");
            List <DataRoute> DonneeRoutes = JsonConvert.DeserializeObject <List <DataRoute> >(routes);

            foreach (DataRoute test in DonneeRoutes)
            {
                Console.WriteLine("\nNom " + " " + test.longName
                                  + "\nNom du bus " + " " + test.shortName + "\n"
                                  + "\nCouleur du texte" + " " + test.textColor
                                  + "\nCouleur" + " " + test.color
                                  + "\nId" + " " + test.id
                                  + "\nMode" + " " + test.mode
                                  + "\nType" + " " + test.type
                                  );
            }

            //Dans la variable ArretSansDouble les données groupé par nom, on prend le nom une fois (doublon)
            List <StructureJson> ArretSansDouble = donnees.GroupBy(n => n.name).Select(grp => grp.First()).ToList();

            // Ranger et afficher les objets depuis la liste sans doublon

            foreach (StructureJson donnee in ArretSansDouble)
            {
                /*pour chaque élement de la structureJson dans données on récupère
                 * dans la variable donnee, id, nom... et on affiche*/


                Console.WriteLine("\nArrêt" + " " + donnee.name

                                  + "\nLongitude " + " " + donnee.lon
                                  + "\nLatitude " + " " + donnee.lat + "\n"
                                  + "\nLignes" + " " + donnee.id);

                //les lignes de bus comportant un tableau, on refait un foreach
                foreach (string line in donnee.lines)
                {
                    Console.WriteLine("Lignes" + " " + line);
                }
            }

            //Lecture en console
            Console.Read();
            //Nettoyer le flux et les réponses

            Console.ReadKey();
        }