Интеграционная шина IBM, разбор json - PullRequest
1 голос
/ 24 мая 2019

Здравствуйте! У меня проблема с анализом любого JSON в IIB Инструментария. Исключение, создаваемое вычислительным узлом Java: java.lang.NoClassDefFoundError: org.json.JSONObject

Я анализирую входящие JSON сообщения в UTF-8. Я уже пытался получить их в JSON, но принятие их как BLOB и преобразование в JSON UTF-8 работает для меня.

String messageText = new String(outMessage.getRootElement().getLastChild().getLastChild().getValueAsString());
messageText = new String(DatatypeConverter.parseHexBinary(messageText),"UTF-8");
JSONObject json = new JSONObject("{}");

Я бы хотел создать JSON объект из JSON строки в UTF-8

Большое спасибо заранее!

1 Ответ

1 голос
/ 31 мая 2019

Так что вы пытаетесь сделать что-то вроде нет-нет. Вы пытаетесь использовать класс Java JSONObject, а не встроенный анализатор Java IIB.

Посмотрите MbElement , в частности методы createElementAsLastChild (java.lang.String parserName) и createElementAsLastChildFromBitstream.

Согласно моему предыдущему ответу, никогда не забывайте, что вы пытаетесь построить дерево элементов.

Еще одна хитрость, которую я иногда использую, - это создать пример output message и отправить его на узел Input, подключенный к узлу Trace. Затем я использую выходные данные узла Trace для написания кода для построения моего фактического выходного дерева. Вы даже можете поместить узел Trace после своего узла JavaCompute, чтобы посмотреть, как выглядит дерево Element, которое вы в данный момент создали, и исправить свои ошибки. Я в основном использую этот метод для сообщений SOAP, которые могут быть довольно сложными.

Если вы действительно хотите использовать внешние классы Java, найдите Использование JAXB с узлом JavaCompute и перейдите по ссылкам из этой статьи.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...