IBM 集成总线,正在解析 json

IBM Integration bus, parsing json

您好,我在解析 IIB 工具包中的任何 JSON 时遇到问题。 java计算节点抛出的异常为:java.lang.NoClassDefFoundError: org.json.JSONObject

我正在解析 UTF-8 中传入的 JSON 消息。我已经尝试将它们放入 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("{}");

我想从 UTF-8

中的 JSON 字符串创建 JSON 对象

非常感谢!

所以您尝试做的有点 no-no。您正在尝试使用 Java class JSONObject 而不是使用内置 IIB Java 解析器。

查看 MbElement,特别是方法 createElementAsLastChild(java.lang.String parserName) 和 createElementAsLastChildFromBitstream。

根据我之前的回答,永远不要忘记您正在尝试构建元素树。

我有时使用的另一个技巧是构建示例 output 消息并将其发送到连接到 Trace 节点的 Input 节点。然后我使用 Trace 节点输出编写代码来构建我的实际输出树,您甚至可以在 JavaCompute 节点之后放置一个 Trace 节点以查看您当前构建的 Element 树的样子并更正您的错误.我主要将此方法用于可能非常复杂的 SOAP 消息。

如果您真的想使用外部 Java classes 然后搜索 Using JAXB with a JavaCompute node 并点击该文章中的链接。