Я пытаюсь выполнить оркестрацию, которая извлекает набор информации с сайта сервера, и я хочу манипулировать выводом, чтобы получать только необходимые данные.
Меню манипулирования выводом позволяет мне обрабатывать его с помощью кодификации Groovy.
Вывод без манипуляций выдает JSON, как показано ниже:
{
"formId": "P43081_W43081A",
"gridId": "1",
"title": "Work With Orders Awaiting Approval",
"rowset": [
{
"P43081_AN8_Originator": "304565",
"P43081_DL01_Supplier": "I.T. Laptop/Tablets",
"P43081_AN8_Supplier": "533104",
},
{
"P43081_AN8_Originator": "304565",
"P43081_DL01_Supplier": "I.T. Laptop/Tablets",
"P43081_AN8_Supplier": "533104",
},
{
"P43081_AN8_Originator": "304565",
"P43081_DL01_Supplier": "Office Plus Supplies",
"P43081_AN8_Supplier": "533103",
}
],
"records": 3,
"moreRecords": false
}
Мне нужна информация только на уровне набора строк. Чтобы сделать это, я манипулировал выводом, включая следующий код:
import groovy.json.JsonSlurper;
import groovy.json.JsonBuilder;
import com.oracle.e1.common.OrchestrationAttributes;
String main(OrchestrationAttributes orchAttr, String input)
{
def jsonIn = new JsonSlurper().parseText(input);
// modify jsonIn;
def jsonOut = new JsonBuilder(jsonIn.rowset);
// orchAttr.writeWarn("custom log entry - warning");
// orchAttr.writeDebug("custom log entry - debug");
return jsonOut;
}
И это выдает мне следующую ошибку:
сообщение: com.fasterxml.jackson.databind.node.ArrayNode не может быть приведен к com.fasterxml.jackson.databind.node.ObjectNode
Я делаю вывод, что причина ошибки заключается в том, что я передаю в качестве параметра JsonBuilder объект Array (набор строк) вместо объекта.
Знаете ли вы, как я могу обработать вывод и передать параметр в правильном формате в JsonBuilder?
Результат, который я хочу получить:
{
"P43081_AN8_Originator": "304565",
"P43081_DL01_Supplier": "I.T. Laptop/Tablets",
"P43081_AN8_Supplier": "533104",
},
{
"P43081_AN8_Originator": "304565",
"P43081_DL01_Supplier": "I.T. Laptop/Tablets",
"P43081_AN8_Supplier": "533104",
},
{
"P43081_AN8_Originator": "304565",
"P43081_DL01_Supplier": "Office Plus Supplies",
"P43081_AN8_Supplier": "533103",
}