package org.neframework.mvc.util.json;
import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
import org.neframework.jpa.util.ChkTools;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
public class JsonTools {
/**
* json 字符串 转 Map
*
* @param json
* @return
*/
public static Map<String, Object> jsonStrToMap(String json) {
Map<String, Object> map = new HashMap<String, Object>();
if (ChkTools.isNull(json)) {
return map;
}
JSONObject jsonObject = JSON.parseObject(json);
System.err.println(jsonObject);
Set<String> keys = jsonObject.keySet();
for (String key : keys) {
map.put(key, jsonObject.get(key));
}
return map;
}
/**
* json 字符串 转 JSONObject
*
* @param json
* @return
*/
public static Object jsonStrToJsonObject(String json, Class<?> clazz) {
if (clazz == String.class) {
if (json.length() > 2) {
// 去掉首尾的引号
json = json.substring(1, json.length() - 1);
}
return json;
} else {
JSONObject parse = JSON.parseObject(json);
return JSON.toJavaObject(parse, clazz);
}
}
/**
* 对象-->json
*
* @param obj
* @return
*/
public static String toJson(Object obj) {
return JSON.toJSONString(obj);
}
// 设置 json 前缀
public static String toJson(String pre, Object obj) {
Map<String, Object> map = objToMap(obj);
Map<String, Object> mapEnd = new HashMap<String, Object>();
if (ChkTools.isNotNull(pre)) {
pre = pre + ".";
}
for (Entry<String, Object> ent : map.entrySet()) {
mapEnd.put(pre + ent.getKey(), ent.getValue());
}
return JSON.toJSONString(mapEnd);
}
public static Map<String, Object> objToMap(Object obj) {
String json = toJson(obj);
Map<String, Object> map = jsonStrToMap(json);
return map;
}
public static void main(String[] args) {
String json = "{ \"firstName\": \"Brett\", \"lastName\":\"McLaughlin\", \"email\": \"aaaa\" }";
Map<String, Object> map = jsonStrToMap(json);
System.err.println(map);
}
}