38 lines
1.4 KiB
Java
38 lines
1.4 KiB
Java
package dev.langchain4j.model.cohere;
|
|
|
|
import com.fasterxml.jackson.annotation.JsonInclude;
|
|
import com.fasterxml.jackson.core.JsonProcessingException;
|
|
import com.fasterxml.jackson.databind.DeserializationFeature;
|
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
|
import com.fasterxml.jackson.databind.PropertyNamingStrategies;
|
|
import com.fasterxml.jackson.databind.SerializationFeature;
|
|
|
|
class CohereJsonUtils {
|
|
|
|
private CohereJsonUtils() throws InstantiationException {
|
|
throw new InstantiationException("Can't instantiate this utility class.");
|
|
}
|
|
|
|
private static final ObjectMapper OBJECT_MAPPER = new ObjectMapper()
|
|
.setPropertyNamingStrategy(PropertyNamingStrategies.SNAKE_CASE)
|
|
.enable(SerializationFeature.INDENT_OUTPUT)
|
|
.setSerializationInclusion(JsonInclude.Include.NON_NULL)
|
|
.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
|
|
|
|
static String toJson(Object object) {
|
|
try {
|
|
return OBJECT_MAPPER.writeValueAsString(object);
|
|
} catch (JsonProcessingException e) {
|
|
throw new RuntimeException(e);
|
|
}
|
|
}
|
|
|
|
static <T> T fromJson(String jsonStr, Class<T> clazz) {
|
|
try {
|
|
return OBJECT_MAPPER.readValue(jsonStr, clazz);
|
|
} catch (JsonProcessingException e) {
|
|
throw new RuntimeException(e);
|
|
}
|
|
}
|
|
}
|