• json 工具处理类


    package com.js.ai.modules.pointwall.util;
    
    import java.lang.reflect.Type;
    import java.net.URLDecoder;
    import java.sql.Date;
    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import java.util.ArrayList;
    import java.util.List;
    import org.apache.log4j.Logger;
    
    import com.google.gson.Gson;
    import com.google.gson.JsonArray;
    import com.google.gson.JsonElement;
    import com.google.gson.JsonObject;
    import com.google.gson.JsonParser;
    
    
    /**
     * 
     * @ClassName: JsonHandle
     * @Description: TODO json 处理类
     * @author: 
     * @date: 
     */
    public class JsonHandle {
    	private static Logger logger = Logger.getLogger(JsonHandle.class);
    	
    	/**
    	 * 传入String类型的json返回JsonObject对象
    	 * 
    	 * @param json
    	 * @return
    	 */
    	public static JsonObject getAsJsonObject(String json) {
    		if (json != null || !"".equals(json)) {
    			JsonObject jsonObject=null;
    			try {
    				
    			JsonParser parser = new JsonParser();
    			JsonElement jsonElement=parser.parse(json);
    			if(!jsonElement.isJsonNull()){
    				jsonObject = (JsonObject)jsonElement;
    			}
    			else{
    			  return null;
    			}
    			
    			} catch (ClassCastException e) {
    				logger.error("转化成jsonObject时报错"+e);
    			}finally{
    				return jsonObject;
    			}
    		} else {
    			return null;
    		}
    	}
    
    	/**
    	 * 传入String类型的json,选择一个具有数组的节点,返回JsonElement数组
    	 * 
    	 * @param json
    	 * @param memberName
    	 * @return
    	 */
    	public static List<JsonElement> getAsJsonElementArrayList(String json,
    			String memberName) {
    		List<JsonElement> jsonObjects = new ArrayList<JsonElement>();
    		JsonObject jsonObject = getAsJsonObject(json);
    		if(jsonObject==null){
    			return null;
    		}
    		JsonArray jsonArray = jsonObject.getAsJsonArray(memberName);
    		for (int i = 0; i < jsonArray.size(); i++) {
    			JsonElement jsonElement = jsonArray.get(i);
    			jsonObjects.add(jsonElement);
    		}
    		return jsonObjects;
    
    	}
    
    	/**
    	 * 从一个json数组中获取一个jsonObject,如[{},{},{}]根据下标获取其中一个{}
    	 * 
    	 * @param json
    	 * @param index
    	 * @return
    	 */
    	public static JsonObject getJsonFromJsonArrayByIndex(String json, int index) {
    		JsonParser jsonParser = new JsonParser();
    		JsonArray jsonArray = (JsonArray) jsonParser.parse(json);
    		JsonObject jsonObject = (JsonObject) jsonArray.get(index);
    		return jsonObject;
    	}
    	  
        /** 
         * 对象转换成json字符串 
         * @param obj  
         * @return  
         */  
        public static String toJson(Object obj) {  
            Gson gson = new Gson();  
            return gson.toJson(obj);  
        }  
      
        /** 
         * json字符串转成对象 
         * @param str   
         * @param type 
         * @return  
         */  
        public static <T> T fromJson(String str, Type type) {  
            Gson gson = new Gson();  
            return gson.fromJson(str, type);  
        }  
      
        /** 
         * json字符串转成对象 
         * @param str   
         * @param type  
         * @return  
         */  
        public static <T> T fromJson(String str, Class<T> type) {  
            Gson gson = new Gson();  
            return gson.fromJson(str, type);  
        }
    }
    

      

  • 相关阅读:
    scp免密码登陆进行远程文件同步
    MAD(Median absolute deviation, 中位数绝对偏差)
    机器学习之评价准则RoC与PR
    最新HGVS基因突变命名规则速览
    Somatic vs Germline Mutations
    c/c++ 获取文件夹或目录下的文件
    诊断实验评估指标-灵敏度(sensitivity)特异度(specificity)准确度(accuracy)
    互斥量与条件变量(三步走战略)结合使用原理
    linux常用的时间获取函数(time,gettimeofday,clock_gettime,_ftime,localtime,strftime )
    dup和dup2应用实例(dup跟APUE有出入,close+dup=dup2?)
  • 原文地址:https://www.cnblogs.com/ipetergo/p/6705324.html
Copyright © 2020-2023  润新知