Создать Джексон ObjectNode из ObjectJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Создать Джексон ObjectNode из Object

Сообщение Anonymous »


Мне нужно добавить новый элемент в существующий ObjectNode, учитывая ключ и значение. Значение указывается как Object в методе sig и должно быть одним из типов, которые принимает ObjectNode.set() (String, < code>Integer, Boolean и т. д.). Но я не могу просто сделать myObjectNode.set(key, value);, потому что value — это просто Object, и, конечно, я получаю ", неприменимый для аргументы (строка, объект)" ошибка.

Мое готовое решение — создать функцию для проверки instanceof и привести ее к созданию ValueNode:

private static ValueNode getValueNode(Object obj) { если (объект экземпляра целого числа) { return mapper.createObjectNode().numberNode((Integer)obj); } if (obj instanceof Boolean) { return mapper.createObjectNode().booleanNode((Boolean)obj); } //...И т.д. для всех типов, которые я ожидаю } ..и тогда я смогу использовать myObjectNode.set(key, getValueNode(value));

Должен быть лучший способ, но мне трудно его найти.

Я предполагаю, что есть способ использовать ObjectMapper, но как мне пока неясно. Например, я могу записать значение в виде строки, но оно мне нужно как нечто, что я могу установить в своем ObjectNode, и оно должно быть правильного типа (т. е. все нельзя просто преобразовать в строку).
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»