Java操作json的通用類_第1頁
Java操作json的通用類_第2頁
Java操作json的通用類_第3頁
Java操作json的通用類_第4頁
Java操作json的通用類_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、package com.baiyyy.polabs.util.json; import java.text.ParseException;import java.util.ArrayList;import java.util.Date;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

2、;import net.sf.json.util.CycleDetectionStrategy; /* * 處理json的工具類,負(fù)責(zé)json數(shù)據(jù)轉(zhuǎn)換成java對(duì)象和java對(duì)象轉(zhuǎn)換成json * * author yongtree * date 2008-11-22 上午10:47:13 * version 1.0 */ public class JsonUtil /* * 從一個(gè)JSON 對(duì)象字符格式中得到一個(gè)java對(duì)象 * * param jsonString * param pojoCalss * return */ public static Object getObject4Js

3、onString(String jsonString, Class pojoCalss) Object pojo; JSONObject jsonObject = JSONObject.fromObject(jsonString); pojo = JSONObject.toBean(jsonObject, pojoCalss); return pojo; /* * 從json HASH表達(dá)式中獲取一個(gè)map,改map支持嵌套功能 * * param jsonString * return */ public static Map getMap4Json(String jsonString) J

4、SONObject jsonObject = JSONObject.fromObject(jsonString); Iterator keyIter = jsonObject.keys(); String key; Object value; Map valueMap = new HashMap(); while (keyIter.hasNext() key = (String) keyIter.next(); value = jsonObject.get(key); valueMap.put(key, value); return valueMap; /* * 從json數(shù)組中得到相應(yīng)jav

5、a數(shù)組 * * param jsonString * return */ public static Object getObjectArray4Json(String jsonString) JSONArray jsonArray = JSONArray.fromObject(jsonString); return jsonArray.toArray(); /* * 從json對(duì)象集合表達(dá)式中得到一個(gè)java對(duì)象列表 * * param jsonString * param pojoClass * return */ public static List getList4Json(Strin

6、g 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

7、(pojoValue); return list; /* * 從json數(shù)組中解析出java字符串?dāng)?shù)組 * * param jsonString * return */ public static String getStringArray4Json(String jsonString) JSONArray jsonArray = JSONArray.fromObject(jsonString); String stringArray = new StringjsonArray.size(); for (int i = 0; i jsonArray.size(); i+) stringArra

8、yi = jsonArray.getString(i); return stringArray; /* * 從json數(shù)組中解析出javaLong型對(duì)象數(shù)組 * * param jsonString * return */ public static Long getLongArray4Json(String jsonString) JSONArray jsonArray = JSONArray.fromObject(jsonString); Long longArray = new LongjsonArray.size(); for (int i = 0; i jsonArray.size(

9、); i+) longArrayi = jsonArray.getLong(i); return longArray; /* * 從json數(shù)組中解析出java Integer型對(duì)象數(shù)組 * * param jsonString * return */ public static Integer getIntegerArray4Json(String jsonString) JSONArray jsonArray = JSONArray.fromObject(jsonString); Integer integerArray = new IntegerjsonArray.size(); for

10、 (int i = 0; i jsonArray.size(); i+) integerArrayi = jsonArray.getInt(i); return integerArray; /* * 從json數(shù)組中解析出java Date 型對(duì)象數(shù)組,使用本方法必須保證 * * param jsonString * return * throws ParseException */ public static Date getDateArray4Json(String jsonString, String DataFormat) throws ParseException JSONArray

11、 jsonArray = JSONArray.fromObject(jsonString); Date dateArray = new DatejsonArray.size(); String dateString; Date date; for (int i = 0; i jsonArray.size(); i+) dateString = jsonArray.getString(i); date = DateUtil.parseDate(dateString, DataFormat); dateArrayi = date; return dateArray; /* * 從json數(shù)組中解析

12、出java Integer型對(duì)象數(shù)組 * * param jsonString * return */ public static Double getDoubleArray4Json(String jsonString) JSONArray jsonArray = JSONArray.fromObject(jsonString); Double doubleArray = new DoublejsonArray.size(); for (int i = 0; i jsonArray.size(); i+) doubleArrayi = jsonArray.getDouble(i); retu

13、rn doubleArray; /* * 將java對(duì)象轉(zhuǎn)換成json字符串 * * param javaObj * return */ public static String getJsonString4JavaPOJO(Object javaObj) JSONObject json; json = JSONObject.fromObject(javaObj); return json.toString(); /* * 將java對(duì)象轉(zhuǎn)換成json字符串,并設(shè)定日期格式 * * param javaObj * param dataFormat * return */ public stat

14、ic String getJsonString4JavaPOJO(Object javaObj, String dataFormat) JSONObject json; JsonConfig jsonConfig = configJson(dataFormat); json = JSONObject.fromObject(javaObj, jsonConfig); return json.toString(); /* * JSON 時(shí)間解析器具 * * param datePattern * return */ public static JsonConfig configJson(Strin

15、g datePattern) JsonConfig jsonConfig = new JsonConfig(); jsonConfig.setExcludes(new String ); jsonConfig.setIgnoreDefaultExcludes(false); jsonConfig.setCycleDetectionStrategy(CycleDetectionStrategy.LENIENT); jsonConfig.registerJsonValueProcessor(Date.class, new JsonDateValueProcessor(datePattern); r

16、eturn jsonConfig; /* * 除去不想生成的字段(特別適合去掉級(jí)聯(lián)的對(duì)象)+時(shí)間轉(zhuǎn)換 * param excludes 除去不想生成的字段 * param datePattern * return */ public static JsonConfig configJson(String excludes, String datePattern) JsonConfig jsonConfig = new JsonConfig(); jsonConfig.setExcludes(excludes); jsonConfig.setIgnoreDefaultExcludes(true)

17、; jsonConfig.setCycleDetectionStrategy(CycleDetectionStrategy.LENIENT); jsonConfig.registerJsonValueProcessor(Date.class, new JsonDateValueProcessor(datePattern); return jsonConfig; *日期轉(zhuǎn)換*package com.baiyyy.polabs.util.json; import java.text.SimpleDateFormat; import java.util.Date; import net.sf.jso

18、n.JsonConfig; import cessors.JsonValueProcessor; /* * * author yongtree * date 2008-11-22 上午10:54:19 * version 1.0 */ public class JsonDateValueProcessor implements JsonValueProcessor private String format = yyyy-MM-dd HH:mm:ss; public JsonDateValueProcessor() public JsonDateValueProcessor(String format) this.format = format; public Object proce

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論