package com.sf.novatar.tpl.util;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import com.fasterxml.jackson.core.JsonParseException;
import com.fasterxml.jackson.core.JsonParser.Feature;
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.JsonMappingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.sf.novatar.tpl.bean.User;
import com.sf.novatar.tpl.bean.UserRole;
/**
* 描述:
*
* <pre>HISTORY
* ****************************************************************************
* ID DATE PERSON REASON
* 1 2016年7月28日 Create
* ****************************************************************************
* </pre>
* @author
* @since 1.0
*/
public class JsonMapUtil {
private static ObjectMapper om = new ObjectMapper();
static {
om.configure(Feature.ALLOW_UNQUOTED_FIELD_NAMES, true);
om.configure(Feature.ALLOW_SINGLE_QUOTES, true);
}
public static Map<String,Object> jacksonTransfer(String json) throws JsonParseException,
JsonMappingException, IOException{
Map<String,Object> map = om.readValue(json, new TypeReference<HashMap<String,Object>>() {});
return map;
}
public static <X> X jacksonTransferObject(String json,Class<X> c) throws JsonParseException,
JsonMappingException, IOException{
X t = om.readValue(json,c);
return t;
}
public static String jacksonReverse(Object i) throws JsonParseException, JsonMappingException, IOException{
String json = om.writeValueAsString(i);
return json;
}
public static void main(String[] args) throws JsonParseException, JsonMappingException, IOException {
Map<String,Object> map = jacksonTransfer("{'t':'1',o:2,k:[{cc:1,dd:1},{ff:1,oo:2}],name:null,code:{aaa:1}}");
System.out.println(map);
User user = new User();//user unused
user.setUserId(1L);
user.setUsername("test");
UserRole ur = new UserRole();
ur.setRoleId(2L);
ur.setSysCode("inv");
List<UserRole> list = new ArrayList<UserRole>();
list.add(ur);
user.setRolesAssign(list);
User u = jacksonTransferObject("{userId:1,username:'test'}",User.class);
System.out.println(u);
System.out.println(jacksonReverse(map));
}
}
JsonMapUtil
最新推荐文章于 2021-12-04 07:41:46 发布