View Javadoc
1   package de.dlr.shepard.common.util;
2   
3   import com.fasterxml.jackson.core.JsonProcessingException;
4   import com.fasterxml.jackson.databind.ObjectMapper;
5   import io.quarkus.logging.Log;
6   
7   public final class JsonConverter {
8   
9     public static String convertToString(Object object) {
10      try {
11        if (object == null) return null;
12        return new ObjectMapper().writeValueAsString(object);
13      } catch (JsonProcessingException e) {
14        Log.errorf("Error while converting metadata to JSON string. %s", e);
15        throw new IllegalArgumentException(e);
16      }
17    }
18  
19    public static Object convertToObject(String jsonString) {
20      try {
21        if (jsonString == null) return null;
22        return new ObjectMapper().readValue(jsonString, Object.class);
23      } catch (JsonProcessingException e) {
24        Log.errorf("Error while converting JSON string to metadata object. %s", e);
25        throw new IllegalArgumentException(e);
26      }
27    }
28  
29    public static <T> T convertToObject(String jsonString, Class<T> clazz) {
30      try {
31        if (jsonString == null) return null;
32        return new ObjectMapper().readValue(jsonString, clazz);
33      } catch (JsonProcessingException e) {
34        Log.errorf("Error while converting JSON string to metadata object. %s", e);
35        throw new IllegalArgumentException(e);
36      }
37    }
38  }