Проблема при преобразовании данных в mule 3 - PullRequest
0 голосов
/ 16 июня 2020

Я пытаюсь преобразовать вывод базы данных в json с помощью компонента сообщения преобразования.

Это входная полезная нагрузка

[{
    "usd ": 0.0, 
    "goal": 3041920,
    "Inr": 0.0,
}]

Данные переплетаются внутри трансформатора

%dw 1.0
%output application/json
---
payload map ((payload01 , indexOfPayload01) -> {
    "usd ": payload01.usd ,
    "goal": payload01.goal,
    "Inr": payload01.Inr,

}

Я выполнил сопоставление в сообщении преобразования, и всякий раз, когда я тестирую поток, я получаю исключение

com.mulesoft.weave.mule.exception.WeaveExecutionException

Может кто-нибудь помочь

Спасибо, Nikhil

Ответы [ 2 ]

1 голос
/ 16 июня 2020

Входные данные JSON и сценарий содержат несколько ошибок. Во-первых, необходимо удалить последнюю запятую в каждом атрибуте. Для доступа к ключу «usd» вам необходимо использовать кавычки в имени ключа. В любом случае наличие цитаты в ключе странно.

Исправленный скрипт:

%dw 1.0
%output application/json
---
payload map ((payload01 , indexOfPayload01) -> 
  { 
    "usd": payload01.'usd ', 
    "goal": payload01.goal, 
    "Inr": payload01.Inr
  })

Исправленный ввод:

[{ "usd ": 0.0, "goal": 3041920, "Inr": 0.0 }]

Вывод:

[
  {
    "usd": 0.0,
    "goal": 3041920,
    "Inr": 0.0
  }
]
0 голосов
/ 16 июня 2020

Вы также не указываете ключи в шаблоне dataweave. См. Образцы здесь https://docs.mulesoft.com/mule-runtime/3.9/dataweave-language-introduction

%dw 1.0
%output application/json
---
payload map ((payload01 , indexOfPayload01) -> 
  { 
    usd: payload01.'usd ', 
    goal: payload01.goal, 
    Inr: payload01.Inr
  })
...