JSON数据获取问题

风祭_将 发布于 2013/05/08 21:49
阅读 924
收藏 0


    我在服务器端用JSON封装了一个对象A,这个A对象中有属性是Set<> B,请问下我在获取了JSON的A对象后应该怎样获取B属性的值?求讲解!!

加载中
0
iuKa
iuKa
class Community {
    public static Community parse(JSONObject json) {
        return null;
    }
}

class Customer {
    public static Customer parse(JSONObject json) {
        Customer customer = new Customer();
        if(!json.isNull("comunities")) {
            JSONArray array = json.getJSONArray("comunities");
            List list = new LinkedList();
            for(int i = 0; i < array.length(); i ++)
                list.add(Comunity.parse(array[i]));
            customer.comunities = list;
    }
}
手敲的伤不起
0
iuKa
iuKa
我在项目中是bean中都实现一个parse(JSONObject jsonObject)方法,返回这个bean。既然A中包含B的集合,在A的parse方法中就会调用B的parse将jsonObject.getJSONArray("bSet")遍历一遍,放入到A中。语文功底差,讲的比较乱,不知你听不听的懂,呵呵 : )
0
哎哎哎哎啊
哎哎哎哎啊
怎么封装能不能说具体点,或是贴出来
0
风祭_将
风祭_将

引用来自“iuKa”的答案

我在项目中是bean中都实现一个parse(JSONObject jsonObject)方法,返回这个bean。既然A中包含B的集合,在A的parse方法中就会调用B的parse将jsonObject.getJSONArray("bSet")遍历一遍,放入到A中。语文功底差,讲的比较乱,不知你听不听的懂,呵呵 : )
看懂了,但是有一点我不太明白的就是我原来A的bean中也只是普通的bean类,并没有实现 parse(JSONObject jsonObject)方法,但是字符串和整型等数据就不用实现这个函数也可以传送的呢
0
风祭_将
风祭_将

引用来自“tianhandigeng1498”的答案

怎么封装能不能说具体点,或是贴出来
在服务器端我是这样封装的: CustomerManager cust_a = clientService.androidClientLoginCheck(customerManager.getCustomerIDCardNum(), customerManager.getCustomerName(), customerManager.getCustomerPassword());
       
        CustomerManager cust_client = new CustomerManager();
        
        cust_client.setCustomerIDCardNum(cust_a.getCustomerIDCardNum());
        cust_client.setCustomerSex(cust_a.getCustomerSex());
        cust_client.setCustomerImgPath(cust_a.getCustomerImgPath());
        cust_client.setCustomerName(cust_a.getCustomerName());
        cust_client.setCustomerPassword(cust_a.getCustomerPassword());
        cust_client.setCustomerRemainMoney(cust_client.getCustomerRemainMoney());
        
        /*
        cust_client.setCustomerCar(cust_a.getCustomerCar());
        cust_client.setCustomerOwnCommunities(cust_a.getCustomerOwnCommunities());
        cust_client.setCustomerPhone(cust_a.getCustomerPhone());
        */
        
        JSONObject jsonObject = JSONObject.fromObject(cust_client);
 
        try {
PrintWriter out = response.getWriter();
out.write(jsonObject.toString());
out.flush();
out.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
      

}

后面注释掉的就是Set类型的属性

0
风祭_将
风祭_将

引用来自“iuKa”的答案

class Community {
    public static Community parse(JSONObject json) {
        return null;
    }
}

class Customer {
    public static Customer parse(JSONObject json) {
        Customer customer = new Customer();
        if(!json.isNull("comunities")) {
            JSONArray array = json.getJSONArray("comunities");
            List list = new LinkedList();
            for(int i = 0; i < array.length(); i ++)
                list.add(Comunity.parse(array[i]));
            customer.comunities = list;
    }
}
手敲的伤不起
果然是大神级~谢谢指教
返回顶部
顶部