Передача данных: JSON -> HashMap

#mule #dataweave

#мул #хранилище данных

Вопрос:

Есть ли способ преобразовать строку JSON в объект HashMap с помощью Dataweave? Я знаю, что могу сделать это с помощью JSON to Object transformer, однако я не могу сделать это с помощью Dataweave. Я сталкиваюсь с жалобами на невозможность принудительно преобразовать строку в объект.

Ответ №1:

Просто верните a (payload) из weave. Это будет HashMap .

Комментарии:

1. Я решил это так же, как увидел ваш ответ. Я пробовал это много раз, но безрезультатно. Однако на этот раз я добавил метаданные к предыдущему соединителю (вывод: полезная нагрузка), и он работал нормально. Может ли недостаток метаданных быть связан с основной причиной?

2. Кроме того, имеют ли круглые скобки вокруг вашего термина полезной нагрузки какое-либо неявное значение? Я просто использовал payload .

Ответ №2:

Вы можете сделать это и без DataWeave, как показано ниже —

 <json:json-to-object-transformer
                            returnClass="java.util.HashMap" doc:name="JSON to Object" />
  

Комментарии:

1. Спасибо! Да, я могу сделать это без проблем. Причина, по которой я пытался использовать Dataweave, заключалась в том, что, похоже, это направление, в котором Mulesoft учится преобразовывать данные.