Add module holms-actions code
[holmes/common.git] / holmes-actions / src / main / java / org / openo / holmes / common / utils / JacksonUtil.java
1 /**\r
2  * Copyright 2017 ZTE Corporation.\r
3  *\r
4  * Licensed under the Apache License, Version 2.0 (the "License");\r
5  * you may not use this file except in compliance with the License.\r
6  * You may obtain a copy of the License at\r
7  *\r
8  *     http://www.apache.org/licenses/LICENSE-2.0\r
9  *\r
10  * Unless required by applicable law or agreed to in writing, software\r
11  * distributed under the License is distributed on an "AS IS" BASIS,\r
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
13  * See the License for the specific language governing permissions and\r
14  * limitations under the License.\r
15  */\r
16 package org.openo.holmes.common.utils;\r
17 \r
18 import com.fasterxml.jackson.core.JsonParseException;\r
19 import com.fasterxml.jackson.core.JsonProcessingException;\r
20 import com.fasterxml.jackson.databind.DeserializationFeature;\r
21 import com.fasterxml.jackson.databind.JsonMappingException;\r
22 import com.fasterxml.jackson.databind.ObjectMapper;\r
23 import java.io.IOException;\r
24 \r
25 public class JacksonUtil {\r
26 \r
27     private JacksonUtil() {\r
28 \r
29     }\r
30 \r
31     public static String beanToJson(Object obj) throws JsonProcessingException {\r
32         ObjectMapper objectMapper = new ObjectMapper();\r
33         return objectMapper.writeValueAsString(obj);\r
34     }\r
35 \r
36     public static <T> T jsonToBean(String json, Class<T> cls) throws IOException {\r
37         ObjectMapper objectMapper = new ObjectMapper();\r
38         if (json == null) {\r
39             return objectMapper.readValue("{}", cls);\r
40         }\r
41         return objectMapper.readValue(json, cls);\r
42     }\r
43 \r
44     public static <T> T jsonToBeanByMatchAttribute(String json, Class<T> cls)\r
45         throws JsonParseException,\r
46         JsonMappingException, IOException {\r
47         if (JudgeNullUtil.isEmpty(json)) {\r
48             return null;\r
49         }\r
50         ObjectMapper objectMapper = new ObjectMapper();\r
51         objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);\r
52         return objectMapper.readValue(json, cls);\r
53     }\r
54 \r
55 }\r