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 }