就是一些map啊,一层一层的扒皮就是了。

解决方案 »

  1.   

    gson封装好了解析对象和数组的方法,感觉非常方便。但是我上面的json是一个稍微复杂点的对象,有对象,又有数组,还有嵌套。想用gson解析对象和解析数组的方法的组合来解决。请问怎么实现呢?我知道gson中有个JsonReader可以解析,只是感觉好麻烦!
      

  2.   

    想知道你的json是否正确 可以在这里验证 
    http://www.bejson.com/go.html?u=http://www.bejson.com/index.php经过我的验证发现 你这个不是标准的json格式
    你的修改为
    {
        "status": "success",
        "data": [
            {
                "id": 1000,
                "name": "zhangsan",
                "phones": [
                    "15611111111",
                    "15622222222"
                ]
            },
            {
                "id": 1001,
                "name": "lisi",
                "phones": [
                    "15611111111",
                    "15622222222"
                ]
            },
            {
                "id": 1002,
                "name": "wangwu",
                "phones": [
                    "15611111111",
                    "15622222222"
                ]
            }
        ]
    }http://www.json.org/ 有一些json的语法格式
    把date的对象符号{}去掉,如果是对象,你则需要给一个key至于解析,安装你的格式一个一个来,是对象就用对象的函数,是数组就用数组的函数。
      

  3.   

    非常感谢你的回答!恕俺愚昧,俺还想请教下:如果是用org.json包,完全能搞定,如用gson,我能解析出对象,也能解析出数组。但我想用这2种方法的组合解析上面的例子死活解析不来。如果用gson的JsonReader的beginX,endX方式我也能搞定。只是觉得很笨···尤其是号码里面又有多个号码,脑袋始终没有转过这个弯,还望大侠不要见笑!下面是我的方法:public class ResultInfo{
    private String status;
    private String data;
    public String getStatus() {
    return status;
    }
    public void setStatus(String status) {
    this.status = status;
    }
    public String getData() {
    return data;
    }
    public void setData(String data) {
    this.data = data;
    }
    }
    public class JsonParser {
    public static ResultInfo parseResultInfo(String jsonData) {
    ResultInfo info = null;
    if (jsonData != null) {
    Gson gson = new Gson();
    info = gson.fromJson(jsonData, ResultInfo.class);
    }
    return info;
    }
    public static List<User> parseUser(String jsonData) {
    ResultInfo info = parseResultInfo(jsonData);
    if(info.getStatus().equals("success")){
    Type listType = new TypeToken<List<User>>() {}.getType();
    Gson gson = new Gson();
    List<User> list = gson.fromJson(info.getData(), listType);
    return list;
    }
    return null;
    }
    }
      

  4.   

    我也不明白你这样复杂的json用gson怎么解析?楼主搞定了没?求指教啊
      

  5.   

    jsonobject,jsonarray,嵌套而已,{}是jsonobject,[]是jsonarray,根据key一点一点往外解就是了
      

  6.   

    木有,搞了半天没弄出来,最后改用org.json包中的工具内解析的。也挺简单的。兄弟研究出来了麻烦告知我下下。
      

  7.   

    貌似 json格式有问题 !!!