2010-09-20 9 views
0

je veux analyser le JSON tout comme:comment être plus facile d'analyser le JSON

[{ "id": "ssq", "name": "双色球", "terme": "2010092", "date": "2010-08-12 19:15", "numbers": {"normal": "3,13,19,27,28,30", "special": "2"}, "jackpot" : "30000000"}, {"id": "3d", "nom": "3D", "terme": "2010216", "date": "2010-08-12 19:55", "chiffres": {"normal": "6,8,8"}, "jackpot": "-"}, {"id": "qlc", "nom": "七 乐 彩", "terme": "2010093", "date ":" 2010-08-11 20:45 "," numbers ": {" normal ":" 08,09,10,11,16,21,27 "," spécial ":" 26 "}," jackpot " : "0"}, {"id": "dfljy", "nom": "东方 6 + 1", "terme": "2010093", "date": "2010-08-14 18:30", " numéros ": {" normal ":" 4,1,3,9,7,2 "," special ":" 羊 "}," jackpot ":" 12866531 "}, {" id ":" swxw "," name ":" 15 选 5 "," term ":" 2010217 "," date ":" 2010-08-12 18:45 "," chiffres ": {" normal ":" 1,3,5,13, 15 "}," jackpot ":" 5693612 "}, {" id ":" ssl "," nom ":" 时时 乐 "," t erm ":" 20100811-23 "," date ":" 2010-08-12 10:27 "," numbers ": {" normal ":" 6,7,1 "}," jackpot ":" - "} , {"id": "klsf", "nom": "十分乐 十分", "terme": "201021649", "date": "2010-08-11 22:00", "nombres": {"normal" : "5,11,12,14,20"}, "jackpot": "-"}, {"id": "klsc", "nom": "双乐 双 彩", "terme": "2010215", "date": "2010-08-10 21:25", "numbers": {"normal": "12,23,10,15,7,3", "special": "11"}, "jackpot" : « 198059 »}]

je veux gagner tous, mais les données sont si nombreux, donc si je dois créer 8 types de classe pour stocker les données, donc plus facile à use.thanks!

+0

Précisez ce que vous voulez dire par "analyser"! – adamse

Répondre

1

Pour ajouter à la réponse de CFEI, une chose que je l'ai fait lors du traitement des réponses JSON de Flickr, est de créer une nouvelle classe en particulier pour ce type d'objet.

Donc, pour vous, juste jouer à l'oreille, quelque chose comme ci-dessous:

public class Lottery() { 
    private JSONObject json; 
    private String id; 
    private String name; 
    private String term; 
    private String date; 
    private String norm_numbers; 
    private String spec_numbers; 
    private String jackpot; 

    public Lottery(JSONObject json) { 
     this.json = json; 
    } 
    public void setId() 
    { 
     try { 
      id = json.getString("id"); 
     } catch (JSONException e) { 
      id = ""; 
     } 
    } 
    //additional getters and setters, etc. 
} 

De cette façon, vous pouvez faire un tableau d'objets et d'accéder aux champs comme ceci:

//...get a JSONObject from the array... 
Lottery lottery = new Lottery(json); 
Log.v("ID", lottery.id); 
Log.v("Name", lottery.name); 

et ainsi de suite.

+0

merci pour votre réponse –

0

Voulez-vous dire que vous voulez parcourir chacun des huit JSONObjects de ce JSONArray? Vous devez créer un objet JSONArray avec la chaîne d'entrée que vous avez posée ci-dessus (appelons-le "response", comme utilisé ci-dessous), puis parcourir le tableau pour obtenir chaque objet JSONObject qu'il contient. Par exemple:

JSONArray array = new JSONArray(response); 
for(int i = 0; i < array.length(); i++) { 
    JSONObject obj = array.getJSONObject(i); 

    // do something with obj 
    // example: to get the id for a particular object, use obj.getString("id") 
    Log.i("Example", "the id is"+obj.getString("id")); 
} 
+0

merci, peut-être que je ne précise pas les quetions, désolé pour cela –

Questions connexes