У меня есть столбец Blob в таблице cassandra (устаревшие данные). Столбец может содержать json в любом из следующих форматов:
TYPE 1:
{
"confgrtn_val": {
"uid": "(?i)^(?=.*[a-z])[a-z0-9]{8,20}$",
"pwd": "^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])",
"idshield": "(?i)^(?=.*[a-z])[a-z0-9]{8,20}$"
}
}
(Сторона значения для ключа "confgrtn_val" - это Dynami c (может иметь любое количество пар ключ-валь)).
TYPE 2:
{
"confgrtn_val": "xyz"
}
У меня есть конечная точка REST Api GET, которая имеет взять этот BLOB-объект и отправить ответ в точном формате после декодирования.
Поскольку существует несоответствие в "значении" для ключа "confgrtn_val", я не могу правильно отобразить его в ответе. Использование объекта типа Map в Object Mapper отображает его только в случае TYPE 1 . Использование объекта типа String в Object Mapper отображает оба, но у меня есть экранирующие символы в ответе, такие как:
{
"confgrtn_val": {
"Transmit Policy": "{\"rm_id\":true,\"combined_uidpwd\":false,\"gone_fishing\":true}",
"Regex": "{\"uid\":\"(?i)^(?=.*[a-z])[a-z0-9]{8,20}$\",\"pwd\":\"^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])\",\"idshield\":\"(?i)^(?=.*[a-z])[a-z0-9]{8,20}$\"}",
"Server Killswitches": "{\r\n\"rm_id\":true,\r\n\"combined_uidpwd\":false,\r\n\"gone_fishing\":true\r\n}"
}
}
Кроме того, если я хочу иметь реализацию конечной точки POST, как я должен go о обрабатываете этот сценарий для вставки?