JSON2.js和BPM-JSON-Utils.js在IBM BPM中的使用

Posted shxlsunny

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JSON2.js和BPM-JSON-Utils.js在IBM BPM中的使用相关的知识,希望对你有一定的参考价值。

  今天在IBMProcessDesign中编写后台js代码,需要将object对象转换为json格式。

  首先想到了JOSN.stringify()方法,

    input.afterLineleaderCode = lineleaderNo;

    input.afterLineleaderName = lineleaderName;

    tw.local.input[i] = JSON.stringify(input);   //input是数据对象

  其中,twIBM BPMteamwork的简写,是指的是PD中最大的对象,包括本地的tw.local对象,系统的tw.system对象。

  但每当代码执行至此后,后台一致报错:

 CWLLG2041E:  TeamWorksjavascriptException created non-nested.   Error: [TeamworksException name=‘json2.js‘, message=‘Can‘t find method java.lang.String.valueOf().‘, line=187, pos=0 nested=<none>]

 

  初步分析,是由于JSON.stringify()无法将简单的对象转换为tw对象。所以要使用BPM-JSON-Utils.js中的方法。

  如果要用JSON.stringify(),需要设置属性为tw对象

    input.afterLineleaderCode = tw.local.afterLineleaderCode;

    input.afterLineleaderName = tw.local.afterLineleaderName;

    tw.local.input[i] = JSON.stringify(input); 

  这样就可以了。

以上是关于JSON2.js和BPM-JSON-Utils.js在IBM BPM中的使用的主要内容,如果未能解决你的问题,请参考以下文章

JSON2.js和BPM-JSON-Utils.js在IBM BPM中的使用

json2.js源码解读记录

是否有托管 JSON2 的公开可用的 CDN?

Javascript序列化

标记在IE8以下时使用JSON.stringify报JSON未定义错误的问题

C#对JSON的处理和JSON在JS的序列化