Я использую IIB v10.0.0.18, и у меня есть JSON сообщение ввода, которое получено узлом ввода http, а затем узел JavaCompute, в котором я пытаюсь получить весь ввод JSON. Я использую код ниже, чтобы сделать это
MbMessage inMessage = inAssembly.getMessage();
MbElement inRoot = inMessage.getRootElement();
String inputMsg = inRoot.getFirstElementByPath("/JSON/Data/*").getValueAsString();
Но это приводит к тому, что в первой строке только входное сообщение. Я пробовал также
String inputMsg = inRoot.getFirstChild().getValueAsString();
И
String inputMsg = inRoot.getLastChild().getValueAsString();
Но оба возвращают ноль. Может кто-нибудь, пожалуйста, скажите мне, как получить весь ввод json в виде строки в моем JavaCompute. Мой ввод JSON выглядит следующим образом
{
"id": 1,
"name": "A green door",
"price": 12.50
}
, и я хочу, чтобы все это сообщение было извлечено из узла JavaCompute.
Обновление: основываясь на ответе Кимберта, я обновил код ниже и это сработало:
MbMessage inMessage = inAssembly.getMessage();
MbElement inRoot = inMessage.getRootElement();
byte[] inRootBytes = inRoot.getLastChild().toBitstream(null, null, null, 0, 1208, 0);
String inRootString = new String(shipmentCompanyCodeBytes);
Теперь у inRootString есть строковое значение моего ввода json.