• JSON 简单封装


    import java.util.ArrayList;
    import java.util.Collection;
    import java.util.HashMap;
    import java.util.Iterator;
    import java.util.List;
    import java.util.Map;
    
    import net.sf.json.JSONArray;
    import net.sf.json.JSONObject;
    import net.sf.json.JsonConfig;
    
    /**
     * 后台数据转换成JSON操作的一些方法
     * 
     * @author wrj
     * 
     */
    public class JSONUtils {
    
    	/**
    	 * 类型form
    	 */
    	public static String _JOSN_TYPE_FORM_="form";
    	
    	/**
    	 * 类型AJAX
    	 */
    	public static String _JOSN_TYPE_AJAX_="ajax";
    	
    	/**
    	 * 类型AJAX
    	 */
    	public static String _JOSN_TYPE_STORE_="store";
    	/**
    	 * 成功success
    	 */
    	public static String _JOSN_SUCCESS_="success";
    	
    	/**
    	 * 操作信息
    	 */
    	private static String _JSON_MSG_ = "msg";
    
    	/**
    	 * 
    	 */
    	private static JsonConfig config = new JsonConfig();
    
    	static {
    		config.registerJsonValueProcessor(java.sql.Date.class, new JsDateJsonValueProcessorEx("yyyy-MM-dd"));
    		
    		config.registerJsonValueProcessor(java.sql.Time.class, new JsDateJsonValueProcessorEx("HH:mm:ss"));
    
    		config.registerJsonValueProcessor(java.sql.Timestamp.class, new JsDateJsonValueProcessorEx("yyyy-MM-dd HH:mm:ss"));
    	}
    
    	/**
    	 * 将返回消息转换为JSON数据格式返回
    	 * 
    	 * @param flag
    	 *            成功失败标识
    	 * @param msg
    	 *            成功失败信息
    	 * @return JSON格式的操作信息
    	 */
    	public static String oprationMsgToJSON(boolean flag,String msg) {
    		//SuyLog.debug(jo.toString());
    		return "{success:"+flag+","+JSONUtils._JSON_MSG_+":'"+msg+"'}";
    		
    		//return "{" + ""_ajax_op_flag":"" + flag + "","_ajax_op_msg":" + """ + msg + ""}";
    	}
    
    	/**
    	 * 将返回消息转换为JSON数据格式返回
    	 * 
    	 * @param object
    	 *            转换的对象 必须是List类型或Map类型的对象
    	 * @param flag
    	 *            成功失败标识
    	 * @param msg
    	 *            成功失败信息
    	 * @return JSON格式的操作信息
    	 */
    	public static String oprationMsgToJSON(Object object, boolean flag, String msg,String type) {
    		if (object instanceof Collection) {
    			Map map = new HashMap(0);
    			map.put("data", object);
    			//map.put(JSONUtils._JSON_MSG_, msg);
    			JSONObject jo = JSONObject.fromObject(map, config);
    			
    			//SuyLog.debug(jo.toString());
    			//return "{success:"+flag+","+jo+"}";
    			return jo.toString();
    		} else if (object instanceof Map) {
    			Map map = new HashMap(0);
    			map.put("data", object);
    			
    			JSONObject jo = JSONObject.fromObject(map, config);	
    			jo.put(JSONUtils._JSON_MSG_, msg);
    			
    			
    			jo.put(JSONUtils._JOSN_SUCCESS_, flag);
    			
    			
    			return jo.toString();
    			//SuyLog.debug(jo.toString());
    		}/* else if (object instanceof Page) {
    			Map map = new HashMap(0);
    			map.put("data", ((Page)object).getList());
    			map.put("total", ((Page)object).getTotal());			
    			JSONObject jo = JSONObject.fromObject(map, config);
    			//SuyLog.debug(jo.toString());			
    			 
    			return jo.toString();
    		} */else {
    			Map map = new HashMap(0);			
    			map.put(JSONUtils._JSON_MSG_, msg);
    			JSONObject jo = JSONObject.fromObject(map);	
    			 
    			return "{success:"+flag+","+jo+"}";
    			//SuyLog.debug(jo.toString());
    			
    		}
    
    	}
    	
    	
    	public static String convertListToJSONStr(List list){
    		
    		if(list==null){
    			return "{}";
    		}
    		
    		JSONArray ja = JSONArray.fromObject(list, config);
    		
    		return  ja.toString();
    	}
    	
    
    	/**
    	 * @param strJSON :
    	 *            JSON字符串
    	 * @return List
    	 */
    	public static List convertJSONStrToList(String strJSON) {
    		JSONArray ja = JSONArray.fromObject(strJSON);
    		List lst = new ArrayList();
    		Map myRow = new HashMap(0);
    		for (int i = 0; i < ja.size(); i++) {
    			JSONObject jo = (JSONObject) ja.get(i);
    			Iterator names = jo.keySet().iterator();
    			while (names.hasNext()) {
    				String name = (String) names.next();
    				myRow.put(name, jo.get(name).toString());
    			}
    
    			lst.add(new HashMap(myRow));
    			myRow.clear();
    		}
    		return lst;
    	}
    
    	/**
    	 * @param Map 
    	 *            
    	 * @return jsonStr:JSON字符串
    	 
    	
    	public static String convertMapToJSON(Map map){
    		//清空null值
    		map=BeanUtilsEx.parameterNullToString(map);
    		//map=BeanUtilsEx.parameterCleanNullOrEmpty(map);
    		//转成小写
    		map=BeanUtilsEx.convertMapKeyToLowerCase(map);
    		JSONObject jo = JSONObject.fromObject(map, config);	
    		return jo.toString();
    	}*/
    	/** *//**
         * 从json对象集合表达式中得到一个java对象列表
         * @param jsonString
         * @param pojoClass
         * @return
         */
        public static List getList4Json(String jsonString, Class pojoClass){
            
            JSONArray jsonArray = JSONArray.fromObject(jsonString);
            JSONObject jsonObject;
            Object pojoValue;
            
            List list = new ArrayList();
            for ( int i = 0 ; i<jsonArray.size(); i++){
                
                jsonObject = jsonArray.getJSONObject(i);
                pojoValue = JSONObject.toBean(jsonObject,pojoClass);
                list.add(pojoValue);
                
            }
            return list;
    
        }
    	
    	
    	public static void main(String[] args) {
    		
    		oprationMsgToJSON(true,"成功");
    	}
    }
    
  • 相关阅读:
    跟我一起学Go系列:gRPC 全局数据传输和超时处理
    跟我一起学Go系列:Go gRPC 安全认证方式-Token和自定义认证
    c++中的继承关系
    数值型模板参数的应用
    [源码解析] 机器学习参数服务器Paracel (3)------数据处理
    [源码解析] PyTorch 分布式(2) --- 数据加载之DataLoader
    [源码解析] PyTorch 分布式(1) --- 数据加载之DistributedSampler
    [源码解析] 机器学习参数服务器 Paracel (2)--------SSP控制协议实现
    [源码解析] 机器学习参数服务器 Paracel (1)-----总体架构
    [源码解析]机器学习参数服务器ps-lite(4) ----- 应用节点实现
  • 原文地址:https://www.cnblogs.com/xue88ming/p/7183011.html
Copyright © 2020-2023  润新知