開發:隨筆記錄之 Json字串 與 List、HashMap物件的轉換
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import net.sf.json.JsonConfig;
import net.sf.json.util.JSONUtils;
public class JsonParser {
/**
* json字串 轉成 map
*
* @param jsonStr
* @return
* @throws Exception
*/
public static HashMap<String, JsonValue> parse(String jsonStr) {
if (jsonStr == null || "".equals(jsonStr)) { return null; }
HashMap<String, JsonValue> retMap = null;
try {
retMap = new HashMap<String, JsonValue>();
JSONObject json = JSONObject.fromObject(jsonStr);
Map<String, Object> tmpMap = (Map<String, Object>) JSONObject
.toBean(json, Map.class);
for (Map.Entry<String, Object> entry : tmpMap.entrySet()) {
JsonValue tmp = parseRec(entry.getValue(), 0);
retMap.put(entry.getKey(), tmp);
}
}
catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return retMap;
}
/**
* json字串 轉成 List
*
* @param jsonStr
* @return
* @throws Exception
*/
public static List<HashMap<String, JsonValue>> parseList(String jsonStr) {
if (jsonStr == null || "".equals(jsonStr)) { return null; }
List<HashMap<String, JsonValue>> retList = new ArrayList<HashMap<String, JsonValue>>();
JSONArray data = JSONArray.fromObject(jsonStr);
for (int i = 0; i < data.size(); i++) {
HashMap<String, JsonValue> retMap = new HashMap<String, JsonValue>();
JSONObject json = (JSONObject) data.get(i);
Map<String, Object> tmpMap = (Map<String, Object>) JSONObject
.toBean(json, Map.class);
for (Map.Entry<String, Object> entry : tmpMap.entrySet()) {
JsonValue tmp = parseRec(entry.getValue(), 0);
retMap.put(entry.getKey(), tmp);
}
retList.add(retMap);
}
return retList;
}
/**
* HashMap<String, JsonValue> map 轉成 json字串
*
* @param jsonStr
* @return
* @throws Exception
*/
public static String parse(HashMap<String, JsonValue> map) {
HashMap<String, Object> retMap = new HashMap<String, Object>();
for (Map.Entry<String, JsonValue> entry : map.entrySet()) {
Object tmp = parseJsonValueRec(entry.getValue(), 0);
retMap.put(entry.getKey(), tmp);
}
JsonConfig jc = new JsonConfig();
return JSONObject.fromObject(retMap, jc).toString();
}
/**
* List<HashMap<String, JsonValue>> list 轉成 json字串
*
* @param jsonStr
* @return
* @throws Exception
*/
public static String parse(List<HashMap<String, JsonValue>> list) {
List<HashMap<String, Object>> tmpList = new ArrayList<HashMap<String, Object>>();
for (HashMap<String, JsonValue> map : list) {
HashMap<String, Object> retMap = new HashMap<String, Object>();
for (Map.Entry<String, JsonValue> entry : map.entrySet()) {
Object tmp = parseJsonValueRec(entry.getValue(), 0);
retMap.put(entry.getKey(), tmp);
}
tmpList.add(retMap);
}
JSONArray json = new JSONArray();
json.addAll(tmpList);
return json.toString();
}
/**
* 構建json
*
* @param map
* @return
*/
public static String parse(Map map) {
JsonConfig jc = new JsonConfig();
return JSONObject.fromObject(map, jc).toString();
}
對了,json的版本我用的是json-lib-2.4-jdk15.jar
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import net.sf.json.JsonConfig;
import net.sf.json.util.JSONUtils;
public class JsonParser {
/**
* json字串 轉成 map
*
* @param jsonStr
* @return
* @throws Exception
*/
public static HashMap<String, JsonValue> parse(String jsonStr) {
if (jsonStr == null || "".equals(jsonStr)) { return null; }
HashMap<String, JsonValue> retMap = null;
try {
retMap = new HashMap<String, JsonValue>();
JSONObject json = JSONObject.fromObject(jsonStr);
Map<String, Object> tmpMap = (Map<String, Object>) JSONObject
.toBean(json, Map.class);
for (Map.Entry<String, Object> entry : tmpMap.entrySet()) {
JsonValue tmp = parseRec(entry.getValue(), 0);
retMap.put(entry.getKey(), tmp);
}
}
catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return retMap;
}
/**
* json字串 轉成 List
*
* @param jsonStr
* @return
* @throws Exception
*/
public static List<HashMap<String, JsonValue>> parseList(String jsonStr) {
if (jsonStr == null || "".equals(jsonStr)) { return null; }
List<HashMap<String, JsonValue>> retList = new ArrayList<HashMap<String, JsonValue>>();
JSONArray data = JSONArray.fromObject(jsonStr);
for (int i = 0; i < data.size(); i++) {
HashMap<String, JsonValue> retMap = new HashMap<String, JsonValue>();
JSONObject json = (JSONObject) data.get(i);
Map<String, Object> tmpMap = (Map<String, Object>) JSONObject
.toBean(json, Map.class);
for (Map.Entry<String, Object> entry : tmpMap.entrySet()) {
JsonValue tmp = parseRec(entry.getValue(), 0);
retMap.put(entry.getKey(), tmp);
}
retList.add(retMap);
}
return retList;
}
/**
* HashMap<String, JsonValue> map 轉成 json字串
*
* @param jsonStr
* @return
* @throws Exception
*/
public static String parse(HashMap<String, JsonValue> map) {
HashMap<String, Object> retMap = new HashMap<String, Object>();
for (Map.Entry<String, JsonValue> entry : map.entrySet()) {
Object tmp = parseJsonValueRec(entry.getValue(), 0);
retMap.put(entry.getKey(), tmp);
}
JsonConfig jc = new JsonConfig();
return JSONObject.fromObject(retMap, jc).toString();
}
/**
* List<HashMap<String, JsonValue>> list 轉成 json字串
*
* @param jsonStr
* @return
* @throws Exception
*/
public static String parse(List<HashMap<String, JsonValue>> list) {
List<HashMap<String, Object>> tmpList = new ArrayList<HashMap<String, Object>>();
for (HashMap<String, JsonValue> map : list) {
HashMap<String, Object> retMap = new HashMap<String, Object>();
for (Map.Entry<String, JsonValue> entry : map.entrySet()) {
Object tmp = parseJsonValueRec(entry.getValue(), 0);
retMap.put(entry.getKey(), tmp);
}
tmpList.add(retMap);
}
JSONArray json = new JSONArray();
json.addAll(tmpList);
return json.toString();
}
/**
* 構建json
*
* @param map
* @return
*/
public static String parse(Map map) {
JsonConfig jc = new JsonConfig();
return JSONObject.fromObject(map, jc).toString();
}
對了,json的版本我用的是json-lib-2.4-jdk15.jar
相關文章
- 開發:隨筆記錄之 Json字串和物件的相互轉換筆記JSON字串物件
- JSON字串與HashMap相互轉換JSON字串HashMap
- java json字串轉換為物件,轉換為listJavaJSON字串物件
- json字串與物件互相轉換JSON字串物件
- list與字串轉換字串
- 開發:隨筆記錄之 HTTP 呼叫筆記HTTP
- 將json字串轉換成list<T>JSON字串
- json字串和js物件之間相互轉換JSON字串物件
- json字串和json格式物件的轉換JSON字串物件
- 開發:隨筆記錄之 新老父子級關係替換筆記
- JSON格式字串和物件之間的轉換程式碼JSON字串物件
- 開發:隨筆記錄之 生成6位隨機數筆記隨機
- Json物件與Json字串互轉JSON物件字串
- JS字串轉換為JSON的四種方法筆記字串JSON筆記
- 開發:隨筆記錄之 判斷list和map相等,併合並等問題筆記
- JSON字串轉換為物件直接量JSON字串物件
- JS json字串轉物件、物件轉字串JSON字串物件
- 開發:隨筆記錄之 CXF 動態呼叫Webservice筆記Web
- js 將json字串轉換為json物件的方法解析JSON字串物件
- JavaScript將物件轉換為JSON格式字串JavaScript物件JSON字串
- eval()將JSON格式字串轉換為物件JSON字串物件
- JavaScript將JSON格式字串轉換為物件JavaScriptJSON字串物件
- 簡單易用的JSON與List相互轉換JSON
- json字串與Object、List、Map的互轉工具類JSON字串Object
- java物件與json物件間的相互轉換Java物件JSON
- JavaScript:如何將JSON物件轉換成JSON字串呢JavaScriptJSON物件字串
- 開發:隨筆記錄之 HTML 彈出透明層事例筆記HTML
- Android中實現JSON字串和JSON物件的轉換AndroidJSON字串物件
- javascript如何將字串轉換成json格式物件JavaScript字串JSON物件
- fastjson: json物件,json物件陣列,javabean物件,json字串之間的相互轉化ASTJSON物件陣列JavaBean字串
- js物件轉json字串物件JSON字串
- json 物件與json 字串的區別。JSON物件字串
- jquery實現將字串轉換為json格式物件jQuery字串JSON物件
- JSON.NET框架實現C#物件和JSON字串的轉換JSON框架C#物件字串
- 有感而發,隨筆記錄筆記
- [轉] jQuery物件與DOM物件之間的轉換jQuery物件
- JavaScript 字串與json物件互轉的幾種方法JavaScript字串JSON物件
- jQuery物件與DOM物件之轉換jQuery物件