国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

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

香港云服务器
服務(wù)器之家 - 編程語(yǔ)言 - JAVA教程 - Java代碼實(shí)現(xiàn)Map和Object互轉(zhuǎn)及Map和Json互轉(zhuǎn)

Java代碼實(shí)現(xiàn)Map和Object互轉(zhuǎn)及Map和Json互轉(zhuǎn)

2020-04-28 11:23西門(mén)呀在吹雪 JAVA教程

這篇文章主要介紹了Java代碼實(shí)現(xiàn)map和Object互轉(zhuǎn)及Map和json互轉(zhuǎn)的相關(guān)資料,需要的朋友可以參考下

先給大家介紹下map和object互相轉(zhuǎn)換的代碼。

具體代碼如所示:

?
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進(jìn)行轉(zhuǎn)換
*/
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進(jìn)行轉(zhuǎn)換
*/
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進(jìn)行轉(zhuǎn)換
*/
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的互相轉(zhuǎn)換

第一段代碼

?
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字符串轉(zhuǎn)成map結(jié)合解析出來(lái),并打印(這里以解析成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);

以上內(nèi)容是小編給大家介紹的Java代碼實(shí)現(xiàn)map和Object互轉(zhuǎn)及Map和json的互轉(zhuǎn)的相關(guān)知識(shí),希望對(duì)大家有所幫助,如果大家想了解更多資訊敬請(qǐng)關(guān)注服務(wù)器之家網(wǎng)站,謝謝!

延伸 · 閱讀

精彩推薦
615
主站蜘蛛池模板: 欧美疯狂性受xxxxx另类 | 看国产黄色片 | 亚洲欧美aa | 无码日韩精品一区二区免费 | 欧美一级片在线 | 精品国产一区二区三区日日嗨 | 成人精品久久久 | 91.成人天堂一区 | 日本久久网 | 日韩视频一区 | 亚洲精品一区 | 国产一区二区三区精品久久久 | 亚洲精品一区二区 | 国产91对白叫床清晰播放 | t66y最新地址一地址二69 | 亚洲国产中文字幕 | 精品网站在线 | 中文字幕亚洲欧美日韩在线不卡 | 日韩精品在线观看视频 | 欧洲精品久久久 | 欧美在线视频网站 | 中文字幕第二十六页页 | 日夜夜精品视频 | 夜夜操操操操 | 精品亚洲一区二区 | 日本黄色美女视频 | 欧美国产精品一区二区三区 | 久久久久久毛片免费看 | 久久91av | 久久精品视频一区 | 午夜视频网站 | 久久一区二 | 国产1级片 | 福利视频在线播放 | 制服诱惑一区二区 | 国产色在线观看 | 成人免费一区二区三区视频软件 | 国产精品一级 | 成人激情视频 | 欧美成人精品一区二区三区 | 激情久久久 |