關於對象轉json字符串存在Date類型轉換格式問題解決方案


public static String getJsonString4JavaPOJO(Object javaObj,final String dateFomart) {
		JSONObject json = null;
		try {
			/*修復在Integer類型如果為null轉換還是null,不會被轉為0*/
			JsonConfig jsonConfig = new JsonConfig();
			jsonConfig.registerDefaultValueProcessor(Integer.class, new DefaultValueProcessor() {
	            public Object getDefaultValue(Class type) {
	                return null;
	            }
	        });
			jsonConfig.registerJsonValueProcessor(Date.class, new JsonDateValueProcessor(){
				@Override
				public Object processArrayValue(Object obj, JsonConfig jsonconfig) {
					return process(obj);
				}
				@Override
				public Object processObjectValue(String s, Object obj, JsonConfig jsonconfig) {
					return process(obj);
				}
				private Object process(Object obj) {
					if (obj == null) {// 如果時間為null,則返回空字串 "yyyy-MM-dd hh:mm:ss"
						return "";
					}
					if (obj instanceof Date) {
						obj = new java.util.Date(((Date) obj).getTime());
					}
					if (obj instanceof java.util.Date) {
						SimpleDateFormat sdf = new SimpleDateFormat(dateFomart,
								Locale.CHINA);// 
						return sdf.format(obj);
					} else {
						return new Object();
					}
				}
			});
			/*****end******/
                        //對象
			json = JSONObject.fromObject(javaObj , jsonConfig);
                       //集合
                       // json = JSONArray.fromObject(javaObj , jsonConfig);
		} catch (Exception e) {
			e.printStackTrace();
		}
		return json.toString();

	}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM