一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務器之家 - 編程語言 - JAVA教程 - Java代碼實現Map和Object互轉及Map和Json互轉

Java代碼實現Map和Object互轉及Map和Json互轉

2020-04-28 11:23西門呀在吹雪 JAVA教程

這篇文章主要介紹了Java代碼實現map和Object互轉及Map和json互轉的相關資料,需要的朋友可以參考下

先給大家介紹下map和object互相轉換的代碼。

具體代碼如所示:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
/**
* 使用org.apache.commons.beanutils進行轉換
*/
class A {
public static Object mapToObject(Map<String, Object> map, Class<?> beanClass) throws Exception {
if (map == null)
return null;
Object obj = beanClass.newInstance();
org.apache.commons.beanutils.BeanUtils.populate(obj, map);
return obj;
}
public static Map<?, ?> objectToMap(Object obj) {
if(obj == null)
return null;
return new org.apache.commons.beanutils.BeanMap(obj);
}
}
/**
* 使用Introspector進行轉換
*/
class B {
public static Object mapToObject(Map<String, Object> map, Class<?> beanClass) throws Exception {
if (map == null)
return null;
Object obj = beanClass.newInstance();
BeanInfo beanInfo = Introspector.getBeanInfo(obj.getClass());
PropertyDescriptor[] propertyDescriptors = beanInfo.getPropertyDescriptors();
for (PropertyDescriptor property : propertyDescriptors) {
Method setter = property.getWriteMethod();
if (setter != null) {
setter.invoke(obj, map.get(property.getName()));
}
}
return obj;
}
public static Map<String, Object> objectToMap(Object obj) throws Exception {
if(obj == null)
return null;
Map<String, Object> map = new HashMap<String, Object>();
BeanInfo beanInfo = Introspector.getBeanInfo(obj.getClass());
PropertyDescriptor[] propertyDescriptors = beanInfo.getPropertyDescriptors();
for (PropertyDescriptor property : propertyDescriptors) {
String key = property.getName();
if (key.compareToIgnoreCase("class") == 0) {
continue;
}
Method getter = property.getReadMethod();
Object value = getter!=null ? getter.invoke(obj) : null;
map.put(key, value);
}
return map;
}
}
/**
* 使用reflect進行轉換
*/
class C {
public static Object mapToObject(Map<String, Object> map, Class<?> beanClass) throws Exception {
if (map == null)
return null;
Object obj = beanClass.newInstance();
Field[] fields = obj.getClass().getDeclaredFields();
for (Field field : fields) {
int mod = field.getModifiers();
if(Modifier.isStatic(mod) || Modifier.isFinal(mod)){
continue;
}
field.setAccessible(true);
field.set(obj, map.get(field.getName()));
}
return obj;
}
public static Map<String, Object> objectToMap(Object obj) throws Exception {
if(obj == null){
return null;
}
Map<String, Object> map = new HashMap<String, Object>();
Field[] declaredFields = obj.getClass().getDeclaredFields();
for (Field field : declaredFields) {
field.setAccessible(true);
map.put(field.getName(), field.get(obj));
}
return map;
}
<p>} </p><p>
</p><p>from:http://www.open-open.com/code/view/1423280939826</p>

下面給大家介紹Map和json的互相轉換

第一段代碼

?
1
2
3
4
5
6
Map<String,Object> map = new HashMap<String,Object>();
map.put("method","json");
map.put("param",null);
map.put("time","2015-01-23 10:54:55");
ObjectMapper mapper = new ObjectMapper();
mapper.writeValueAsString(map);

第二段代碼

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
public static void readJson2Map(String json) {
ObjectMapper objectMapper = new ObjectMapper();
try {
//將json字符串轉成map結合解析出來,并打印(這里以解析成map為例)
Map<String, Map<String, Object>> maps = objectMapper.readValue(
json, Map.class);
System.out.println(maps.size());
Set<String> key = maps.keySet();
Iterator<String> iter = key.iterator();
while (iter.hasNext()) {
String field = iter.next();
System.out.println(field + ":" + maps.get(field));
}
} catch (JsonParseException e) {
e.printStackTrace();
} catch (JsonMappingException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
readJson2Map(json);

以上內容是小編給大家介紹的Java代碼實現map和Object互轉及Map和json的互轉的相關知識,希望對大家有所幫助,如果大家想了解更多資訊敬請關注服務器之家網站,謝謝!

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 狠狠干狠狠插 | 午夜神器18以下不能进免费 | 免费高清视频免费观看 | 无人知晓小说姜璟免费阅读 | 久久足恋网 | 我的好妈妈7中字在线观看韩国 | 欧美精品一区二区三区久久 | 好紧好爽范冰冰系列 | 扒开放荡老师裙子猛烈的进入 | 动漫女性扒开尿口羞羞漫画 | 日韩成人在线视频 | 午夜性爽视频男人的天堂在线 | 视频在线播放 | 蛮荒的童话未删减在线观看 | 免费观看无遮挡www的小视频 | 青青草国产精品免费 | 国产美女在线一区二区三区 | 99久久国产综合精品女不卡 | 日本视频在线观看播放 | 日韩精品一区二区三区老鸭窝 | 亚洲成人影院在线 | 校花的第一次好紧好爽 | 天海翼黄色三级 | 99九九精品免费视频观看 | 嗯啊视频在线观看 | 好男人在线观看免费高清2019韩剧 | 嗯啊好大好粗 | 成人一区二区丝袜美腿 | 国产精品亚洲w码日韩中文 国产精品香蕉在线观看不卡 | 欧美一区二区三 | 久久最新地址获取 | 99热在这里只有精品 | 日韩久久精品 | 日本69sex护士www | 色臀网站| 2018av在线| 京东热在线观看 | 日本高清在线不卡 | 国内精品自产拍在线观看91 | 亚洲国产精品久久网午夜小说 | 精品国产福利在线 |