Tuesday, September 6, 2011

Getting data from json format using json tokener

I was asked to use extJs grid to display some info on the data grid component. Fine but the component uses json format to display its data on the grid. So deleting data from the grid need to pass in data as json format. Anyway here is the method to retrieve the id from the json data to perform deletion in the grid using JsonTokener. Need to download the net.sf.json jar files from the json website.

import net.sf.json.JSONArray;import net.sf.json.util.JSONTokener;   
public String delJson(String delData, int total, int start){
        ProjectService projService = (ProjectService) SpringApplicationContext.getBean("projectService");
         
        String returnJson = "";
        String delId = "";
        try {
            JSONArray ja = new JSONArray();
            ja = JSONArray.fromObject(delData);
            int jsize = ja.size();
            
            while(jsize!=0){
                String jstr = ja.getString(jsize - 1);
                JSONTokener jt = new JSONTokener(jstr);
                jt.skipPast("id\":");
                delId = jt.nextValue().toString();
                
                if(delId!=null && !"".equals(delId)){
                    try {
                        
                        projService.delete(delId);
                    } catch (NumberFormatException e) {
                        
                        logger.error("error ProjectBean.delJson",e);
                    } catch (Exception e) {
                        
                        logger.error("error ProjectBean.delJson",e);
                    }
                }
                jsize--;
            }
            
        } catch (Exception e) {
            
            logger.error("error ProjectBean.delJson",e);
        }
        return returnJson;
    }




No comments:

Post a Comment