Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2009
    Messaggi
    142

    lettura di un file Json

    ciao a tutti!

    qualcuno sa indicarmi come leggere un file json???
    per esempio io ho un file Json che si chiama Person.json e vorrei leggerlo e stampare i valori....

    sto provando ad usare le json-lib per java ma nn riesco ad usarle bene

    grazie mille in anticipo!!!

  2. #2

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2012
    Messaggi
    707
    Parli di questa liberia: http://json-lib.sourceforge.net/ ?
    Prova a postare il pezzo di codice che non funziona,
    possibilmente il più corto possibile e che compili (con la main).
    Allega il json che vuoi parsare.

    Ciao.

  4. #4
    Utente di HTML.it
    Registrato dal
    Nov 2009
    Messaggi
    142
    ho provato ad usare le gsoon...e devo dire che mi trovo meglio

    ora il programma parte ma funziona in modo "parziale"

    questo è il file json:

    codice:
    {
    	"items" :      [
    		{
    			"photo" :     "http://www.csail.mit.edu/biographies/PI/72dpi/rivest.jpg",
    			"url" :       "http://www.csail.mit.edu/biographies/PI/bioprint.php?PeopleID=48",
    			"uri" :       "http://128.30.44.24/Ronald+Rivest",
    			"name":"Prova",
    			"Example" :   "motori",
    			"Rocchio" :   "tecnologia",
    			"Bayes" :     "tecnologia",
    			"Data_Caricamento" :     "2012/10/3 12:50:01",
    			"email" :     "rivest@mit.edu",
    			"type" :      "Person",
    			"tower" :     "Gates",
    			"label" :     "Prova",
    			"type" :     "doc"
    		},
    		{
    			"photo" :     "http://www.csail.mit.edu/biographies/PI/72dpi/karger.jpg",
    			"url" :       "http://www.csail.mit.edu/biographies/PI/bioprint.php?PeopleID=83",
    			"uri" :       "http://128.30.44.24/David+Karger",
    			"name":"Inglese",
    			"Example" :   "tecnologia",
    			"Rocchio" :   "tecnologia",
    			"Bayes" :    "32-G592",
    			"Data_Caricamento" :     "2012/8/13 10:30:28",
    			"email" :     "karger@csail.mit.edu",
    			"type" :      "Person",
    			"tower" :     "Gates",
    			"label" :     "Inglese",
    			"type" :      "pdf"
    			
    		}
    	],
    	"types" : {
    		"Person" : {
    			"uri" : "http://128.30.44.24/Person",
                       pluralLabel: "People"
    		}
    	},
        properties: {
                url: {
                valueType: "url"
                },
                photo: {
                valueType: "url"
                 }
        }
    }
    e questo il mio codice:

    codice:
     JsonReader reader = new JsonReader(new FileReader("/Users/andry85mae/Desktop/Person.json"));
            reader.setLenient(true);
            reader.beginObject();
         try {
             
             while (reader.hasNext()) {
                    String name = reader.nextName();
                    
                    System.out.println(""+name);
                       
                           
                            reader.beginArray();
                           while(reader.hasNext()){
                               
                           
                            reader.beginObject();
                           
                             while (reader.hasNext()) {
                                reader.nextName();
                                System.out.println(reader.nextString());
                                }
                            }
                            
                        
            }
           
          }finally {
           reader.close();
            }
    come risultato di questa elaborazione in output mi stampa i valori del primo record mentre io lo vorrei di tt....

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2011
    Messaggi
    147
    ho provato ad usare le gsoon...e devo dire che mi trovo meglio
    Non avevo dubbi!! Google è una garanzia!!
    Detto ciò... che significa che stampa solo il primo record? Qual'è per te il primo record?

    Dai uno sguardo a quest'esempio... http://www.javabeat.net/2012/04/pars...-gson-library/

  6. #6
    Utente di HTML.it
    Registrato dal
    Nov 2009
    Messaggi
    142
    risolto con questo codice:

    codice:
    try {
           
             while (reader.hasNext()) {
                  
                    reader.beginObject();
                    String name = reader.nextName();
                    
                    System.out.println(""+name);
                    if (name.equals("items")){
                       reader.beginArray();
                       
                        System.out.println("inizia array");
                           
                             
                            while (reader.hasNext()) {
                              reader.beginObject(); 
                            
                             System.out.println("inizia object");
                                   
                                  while (reader.hasNext()) 
                                  {
                                        System.out.print(reader.nextName()+":"); 
                                        System.out.println(reader.nextString());
                                    }
                                 
                                  reader.endObject();  
                               }
                            
                            
                            //String name2 = reader.nextName();
                        //System.out.println("nome2: "+name2);
                                    
                     }//chiusura if        
                             
                        
            }
           
          }finally {
           reader.close();
            }
    in pratica prima leggev solo il primo elemento nel array del json...adesso dovrebbe (il condizionale ci vuole) andare per il verso giusto

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.