【问题标题】:Convert a JSON to TW Object of type ANY将 JSON 转换为 ANY 类型的 TW 对象
【发布时间】:2018-10-26 07:41:20
【问题描述】:

使用 IBM BPM 8.6 我有一个 JSON 如下:

tw.local.person = "{\"firstName\":\"Ahmed\",\"job\":\"Doctor\"}";

我正在使用 BPM 辅助工具包将 json 转换为 TW 对象

tw.local.outputObject = BPMJSON.convertJSONToTw(tw.local.person); 

结果:
如果 outputObject 的类型为 Person(具有 firstName 和 job 属性),则它可以工作并创建对象。

如果 outputObject 的类型是any,则它不起作用

如何在any 对象中获取输出?

BPM-JSON-Utils.js 或 json2.js 文件中是否有任何解决方法或调整?

【问题讨论】:

    标签: javascript json object business-process-management


    【解决方案1】:

    首先我要注意的是,在我的 8.6 安装中,调用 JSON.parse() 可以正常工作,因此您不需要社区工具包。值得注意的是,这种方法似乎遇到了可能与您尝试使用 ANY 或 Record 执行此操作时看到的相同的错误。

    根据错误,基础 TWObject 似乎不允许您引用未明确声明的成员字段。在我的测试中,使用 JSON 字符串 -

    var json='{ "name" : "Andrew", "value" : "42"}';
    

    我试过了-

    tw.local.myNvp = JSON.parse(json);
    tw.local.myAny = JSON.parse(json);
    

    第一个从系统数据工具包中解析为“NameValuePair”类型变量的方法起作用了。试图解析为“ANY”的第二个失败了。我还尝试使用 Record 看看我们是否可以到达那里,但也失败了。

    我的建议是将原始 JSON 返回给调用者并让他们调用上面的解析行。我假设调用者期望返回特定类型,这意味着该变量不是抽象类型,因此解析调用应该可以工作。

    -安德鲁·派尔

    【讨论】:

      猜你喜欢
      • 2021-10-30
      • 2021-07-21
      • 2014-07-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-04
      • 1970-01-01
      相关资源
      最近更新 更多