public class JsonUtil {
public static Map<String ,Object> json2Map(String jsonStr){
if(null==jsonStr || "null".equalsIgnoreCase(jsonStr) || "".equalsIgnoreCase(jsonStr.trim()) || "\"\"".equalsIgnoreCase(jsonStr.trim())){
return null;
}
Map<String,Object> map = new HashMap<String,Object>();//
try{
JSONObject obj = JSONObject.parseObject(jsonStr);
for (String key:obj.keySet()){
map.put(key,obj.get(key));
}
} catch (Exception e){
System.out.println("解析JSOON出错, 错误信息:"+e.getMessage());
}
if(map.size()>0){
return map;
} else {
return null;
}
}
public static List<Map<String,Object>> json2List(String jsonStr){
if(null==jsonStr || "null".equalsIgnoreCase(jsonStr)){
return null;
}
List<Map<String,Object>> list = new ArrayList<Map<String,Object>>();
try{
JSONArray array = JSONArray.parseArray(jsonStr);
for (int i=0;i<array.size();i++){
Map<String,Object> map = new HashMap<String,Object>();
JSONObject object = (JSONObject)array.get(i);
for (String key:object.keySet()){
map.put(key, object.get(key));
}
list.add(map);
}
return list;
} catch (Exception e){
System.out.println("解析JSOON出错, 错误信息:"+e.getMessage());
return null;
}
}
public static LinkedHashMap<String ,Object> json2LinkedHashMap(String jsonStr){
LinkedHashMap<String,Object> map = new LinkedHashMap<String,Object>();
try{
JSONObject obj = JSONObject.parseObject(jsonStr);
for (String key:obj.keySet()){
map.put(key,obj.get(key));
}
} catch (Exception e){
System.out.println("解析JSOON出错, 错误信息:"+e.getMessage());
}
if(map.size()>0){
return map;
} else {
return null;
}
}
public static void main(String[] args){
//解析对象
String json = "{id:'sid',name:'sname',userId:'112',element:[{id:'123',name:'haha'},{id:'456',name:'hehe'}]}";
try{
JSONObject obj = JSONObject.parseObject(json);
for (String key:obj.keySet()){
if(obj.get(key).getClass().isInstance(JSONArray.class)){
JSONArray array = (JSONArray)obj.get(key);
array.size();
}
// if(obj.get(key).size()>0){
// JSONObject.parseObject(obj);
// } else {
// System.out.println(key+ "=" + obj.get(key)) ;
// }
}
} catch (Exception e){
System.out.println("解析JSOON出错, 错误信息:"+e.getMessage());
}
//解析数组
String json2="[{id:'idValue',name:'nameValue',aBean:{aBeanId:'aBeanIdValue'}},{gid:'idValue2', name:'nameValue',aBean:{aBeanId:'aBeanIdValue'}}]";
try{
JSONArray array = JSONArray.parseArray(json2);
for (int i=0;i<array.size();i++){
JSONObject object = (JSONObject)array.get(i);
for (String key:object.keySet()){
System.out.println(key+ "=" + object.get(key)) ;
}
}
} catch (Exception e){
System.out.println("解析JSOON出错, 错误信息:"+e.getMessage());
}
}
/**
* map转JSON
* @param map
* @return
*/
public static String simpleMapToJsonStr(Map<String ,Object > map){
if(map==null||map.isEmpty()){
return "{}";
}
String jsonStr = "{";
Set<?> keySet = map.keySet();
for (Object key : keySet) {
String strValue =map.get(key)==null?"":map.get(key).toString();
if(strValue!=null){
if(!strValue.equals("")){
if("[".equals( strValue.substring(0, 1)) || "{".equals( strValue.substring(0, 1))){
jsonStr +="\""+ key+"\":"+map.get(key)+",";
}else{
jsonStr +="\""+ key+"\":\""+map.get(key)+"\",";
}
}else {
jsonStr +="\""+ key+"\":\""+"\",";
}
}
}
jsonStr = jsonStr.substring(0,jsonStr.length()-1);
jsonStr += "}";
return jsonStr;
}
/**
* map转JSON没有\
* @param map
* @return
*/
public static String simpleMapToJsonStrNoSprit(Map<String ,Object > map){
if(map==null||map.isEmpty()){
return "{}";
}
String jsonStr = "{";
Set<?> keySet = map.keySet();
for (Object key : keySet) {
String strValue =map.get(key)==null?null:map.get(key).toString();
if(strValue!=null){
if("[".equals( strValue.substring(0, 1)) || "{".equals( strValue.substring(0, 1))){
jsonStr += key+":"+map.get(key)+",";
}else{
jsonStr += key+":\""+map.get(key)+"\",";
}
}
}
jsonStr = jsonStr.substring(0,jsonStr.length()-1);
jsonStr += "}";
return jsonStr;
}
/**
* list map 转 JSON字符串
* @param list
* @return
*/
public static String getJSONStringFromList(List<Map<String, Object>> list){
String jsonStr = "[";
if(list != null && list.size() > 0){
for(Map<String,Object> map : list){
jsonStr += simpleMapToJsonStr(map) + ",";
}
jsonStr = jsonStr.substring(0, jsonStr.length()-1);
}
jsonStr += "]";
return jsonStr;
}
网友评论