Précédent   Forum du club des développeurs et IT Pro > Java > Général Java > Langage
Langage Forum d'entraide sur le langage Java et autres langages pour la JVM : syntaxe, POO, conventions, API standard. Avant de poster -> FAQ Java
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 11/12/2012, 15h17   #1
jo7714
Invité de passage
 
Homme
Étudiant
Inscription : décembre 2012
Messages : 3
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : décembre 2012
Messages : 3
Points : 0
Points : 0
Par défaut Récupérer données d'un fichier JSON

Bonjour,

Je souhaiterais récupérer les données d'un fichier Json en Java.

Je construis un objet JSONObjet et je voudrais le remplir avec les données lues dans le fichier JSON.

Cependant, je ne sais pas vraiment pas comment faire pour lire le fichier...

Merci d'avance pour vos réponses.
jo7714 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/12/2012, 16h15   #2
thelvin
Modérateur
 
Inscription : septembre 2004
Messages : 7 298
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 7 298
Points : 10 626
Points : 10 626
Envoyer un message via Skype™ à thelvin
Si on parle de org.json.JSONObject, le constructeur dont tu as besoin c'est JSONObject(String source)

Autrement dit, supposons que tu aies une String jsonString qui contient du json correct, il faudrait appeler new JSONObject(jsonString)

Exemple :

Code :
1
2
3
4
5
String jsonString = "{greeting: 'Hello World!'}";
JSONObject object = new JSONObject(jsonString);
 
String greeting = object.getString("greeting");
System.out.println(greeting);
Il reste donc à lire ton fichier json et à en faire une String pour pouvoir la passer à JSONObject.

Je n'ai pas trouvé d'exemple simple et concis, alors en voici un :

Code :
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
/** Lit l'InputStream entièrement et le charge en mémoire sous forme de String avec le charset donné.
 * Ignore les fins de ligne.
 * Ne ferme pas l'InputStream, qui doit donc être fermé par son créateur. */
public static String inputStreamToString(InputStream is, Charset charset) throws IOException {
  StringBuilder builder = new StringBuilder();
  BufferedReader reader = new BufferedReader(new InputStreamReader(is, charset));
  for(String line = reader.readLine(); line != null; line = reader.readLine()) {
    builder.append(line);
  }
  return builder.toString();
}
 
/** Lit le fichier entièrement et le charge en mémoire sous forme de String avec le charset donné.
 * Ignore les fins de ligne. */
public static String fileToString(File file, Charset charset) throws IOException {
  try(InputStream is = new FileInputStream(file)) {
    return inputStreamToString(is, charset);
  }
}
 
/** Lit le fichier utf-8 entièrement et le charge en mémoire sous forme de String.
 * Ignore les fins de ligne. */
public static String utf8FileToString(File file) throws IOException {
  return fileToString(file, Charset.forName("utf-8"));
}
__________________
Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher du poisson, il videra le lac et au bout de deux ans son village ne mangera plus jamais.
Partagez vos connaissances, mais aussi comment s'en servir.
thelvin est déconnecté   Envoyer un message privé Réponse avec citation 10
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 17h32.


 
 
 
 
Partenaires

Hébergement Web