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是数据对象    

 

其中,tw是IBM 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); 

 

  这样就可以了。

posted on 2016-06-29 17:24  shxlsunny  阅读(868)  评论(0编辑  收藏  举报

导航