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

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

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的互轉的相關知識,希望對大家有所幫助,如果大家想了解更多資訊敬請關注服務器之家網站,謝謝!

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产成人盗摄精品 | 国产a在线 | 亚洲国产精品第一区二区三区 | 国产综合社区 | 国产免费久久精品44 | 免费看黄色一级 | 欧美成人影院免费观 | 欧美久在线观看在线观看 | 免费三及片 | 日韩手机在线视频 | 日本高清在线看免费观看 | 香蕉免费一区二区三区在线观看 | 久久xxxx| 国产在线精品99一卡2卡 | 激情视频网址 | 国产精品视频免费看 | 99热资源| 国产午夜亚洲精品不卡 | 亚洲精品卡一卡2卡3卡4卡 | 日本色播 | 免费网站看v片在线成人国产系列 | 成人嗯啊视频在线观看 | 九九热视频 这里有精品 | 国产一区二区三区久久精品小说 | 我与白丝同桌的故事h文 | 高清欧美videossexo免费 | 非洲黑人gay巨大 | 亚欧综合 | 日韩欧美一区二区三区视频 | 天天夜夜草草久久伊人天堂 | 男女刺激高清视频在线观看 | 久久视频在线视频观看天天看视频 | 污小说免费 | 91精品综合久久久久久五月天 | 亚欧洲乱码专区视频 | 色婷婷在线 | 男生操女生漫画 | 日韩欧美一区二区在线观看 | 78成人网| 红色毛片| 糖心vlog网页版 |