zoukankan      html  css  js  c++  java
  • 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);  
        }
    }
    

      

  • 相关阅读:
    hdu1240 bfs 水题
    hdu 2102 BFS
    gym 101081E Polish Fortress 几何
    Gym 101081K Pope's work dp
    hdu 6188 贪心
    hdu 6186 水
    Codeforces Round #430 (Div. 2) A B 水 C dfs,思维 D trie,二进制
    hdu6152 拉姆齐定理
    hdu6165 缩点,dfs
    hdu6153 扩展KMP
  • 原文地址:https://www.cnblogs.com/ipetergo/p/6705324.html
Copyright © 2011-2022 走看看