【问题标题】:IBM Integration bus, parsing jsonIBM 集成总线,解析 json
【发布时间】:2019-10-11 05:11:02
【问题描述】:

您好,我在解析 IIB Toolkit 中的任何 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 对象

非常感谢!

【问题讨论】:

    标签: java json integration


    【解决方案1】:

    因此,您尝试做的事情有点禁忌。您正在尝试使用 Java 类 JSONObject 而不是使用内置的 IIB Java Parser。

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

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多