开发者

how to be easier to analyse the json

i want to analyse the json just like:

[{"id":"ssq","name":"双色球","term":"2010092","date":"2010-08-12 19:15","numbers":{"normal":"3,13,19,27,28,30","special":"2"},"jackpot":"30000000"},{"id":"3d","name":"3D","term":"2010216","date":"2010-08-12 19:55","numbers":{"normal":"6,8,8"},"jackpot":"-"},{"id":"qlc","name":"七乐彩","term":"2010093","date":"2010-08-11 20:45","numbers":{"normal":"08,09,10,11,16,21,27","special":"26"},"jackpot":"0"},{"id":"dfljy","name":"东方6+1","term":"2010093","date":"2010-08-14 18:30","numbers":{"normal":"4,1,3,9,7,2","special":"羊"},"jackpot":"12866531"},{"id":"swxw","name":"15选5","term":"2010217","date":"2010-08-12 18:45","numbers":{"normal":"1,3,5,13,15"},"jackpot":"5693612"},{"id":"ssl","name":"时时乐","term":"20100811-23","dat开发者_运维技巧e":"2010-08-12 10:27","numbers":{"normal":"6,7,1"},"jackpot":"-"},{"id":"klsf","name":"快乐十分","term":"201021649","date":"2010-08-11 22:00","numbers":{"normal":"5,11,12,14,20"},"jackpot":"-"},{"id":"klsc","name":"快乐双彩","term":"2010215","date":"2010-08-10 21:25","numbers":{"normal":"12,23,10,15,7,3","special":"11"} ,"jackpot":"198059"}]

i want to gain all of them,but the data is so many,so whether i need to create 8 kinds of class to store the data,so to be easier to use.thanks!


To add to cfei's response, one thing that I've done when processing JSON responses from Flickr, is create a new class particularly for that type of object.

So for yours, just playing it by ear, something like the below:

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.
}

This way, you can make an array of objects, and access the fields like so:

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

and so on.


Do you mean that you want to iterate through each of the eight JSONObjects in this JSONArray? You need to create a JSONArray object with the input string you posed above (let's call it "response", as used below) and then iterate through the array to get each JSONObject it contains. For example:

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

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜