0

在我们的环境中,我们必须使用 JSON 格式 ( ) 准备响应调用tw.local.jsonResponse。我是 JSON 新手,不确定如何在 IBM BPM 中使用以下 JSON 格式解析日期。如果有人指导/建议(通过使用以下数据),这可能会很有帮助。


Success Response

Code: 200

Content:

{
        “status” : “success”
        “data” : {
                “change_number” : [string],
                “instance” : [string],
                “customer” : [string],
                “tasks” : [
                      { “task_number” : [string],
                        “description” : [string],
                        “schedule_start” : [datetime],
                        “schedule_end” : [datetime]
                      },
                      { /* another task */ }
                ]
        }
}

4

4 回答 4

1

我在 IBM BPM 中遇到过类似的 json 和日期问题。

在您的解决方案中,您可以获得外部 JavaScript 文件 json.js。

您可以使用以下函数返回您的 JSON 字符串:

BPMJSON.convertTWToJSON(tw.local.MyObject, false)
于 2017-06-07T20:27:36.460 回答
0

嗯..我明白你为什么有问题。让我说清楚。

JSON 日期不是日期——它们是字符串!!

因此 JSON 中没有固定的日期格式,但对于 IBM BPM,我们很幸运。

在 IBM BPM 的情况下,日期的字符串表示形式为 UTC 时间(由 Z 表示),例如

“2020-09-24T18:04:41.306Z”

例如,您可以使用任何日期函数在任何浏览器上将此日期字符串转换为 JS 日期

new Date("2020-09-24T18:04:41.306Z")

在服务器端 JS 上,您可以使用相同的技巧,将 sting 日期转换为 JS 日期。

于 2020-09-27T07:35:13.920 回答
0

这就是在 BPM 8.6 中用于 Rest Token 的方法:

tw.local.authToken = JSON.parse(tw.system.invokeREST(request).content).access_token;

部分解释:

tw.system.invokeREST(request)

调用 REST 客户端进行调用。

tw.system.invokeREST(request).content

包含作为 jsonstring 的响应。

JSON.parse(tw.system.invokeREST(request).content).access_token

将其解析回 json 对象并将属性 access_token 提取为字符串。

于 2018-09-03T14:11:38.960 回答
0

您需要做的第一件事是使用与 BO 同名的 require 数据类型来制作 BO。然后使用以下代码将 twObject 转换为 JSON:-

function createJson(twObject){   
        var jsonString="";
        if(typeof twObject =='object' && twObject!=null){
            if(twObject.listLength>0){
                jsonString+="[";

                for (var j=0; j<twObject.listLength; j++){

        if(typeof twObject[j]!='string')
                  jsonString+="{";

                for (var property in twObject[j].propertyNames){

                       var name = twObject[j].propertyNames[property];
                       if(typeof twObject[j][name]=='object'){
                           if(Object.prototype.toString.call(twObject[j][name]).indexOf("TWDate")!="-1"){
                               jsonString+="\""+name+"\":\""+twObject[j][name].format("yyyy-MM-dd'T'HH:mm:ss'Z'")+"\",";
                           }else{
                               jsonString+="\""+name+"\":"+createJson(twObject[j][name]);
                           }                     
                       }
                       else{
                           jsonString+="\""+name+"\":\""+twObject[j][name]+"\",";
                       }

                       if(twObject[j].listLength>0)
                       {
                         for (var k=0;k<twObject[j].listLength;k++){
                         jsonString+="\""+ twObject[j][k]+"\",";
                         }
                       }

                }
                   if(typeof twObject[j] == 'string'){
                   jsonString+="\""+twObject[j]+"\"";

                    }

                 if(typeof twObject[j]!='string')
                  jsonString+="}";




               if(j!=twObject.listLength-1){
                   jsonString+=",";
               }
    }    jsonString+="],";
            }else{
                try{
                if(twObject.propertyNames.length>0){
                jsonString+="{";
                 for(var property in twObject.propertyNames){

                       var name = twObject.propertyNames[property];
                       if(typeof twObject[name]=='object'){
                           if(Object.prototype.toString.call(twObject[name]).indexOf("TWDate")!="-1"){
                               jsonString+="\""+name+"\":\""+twObject[name].format("yyyy-MM-dd'T'HH:mm:ss'Z'")+"\",";
                           }else{
                               jsonString+="\""+name+"\":"+createJson(twObject[name]);
                           }

                       }else{
                           jsonString+="\""+name+"\":\""+twObject[name]+"\",";
                       }


                    }
                 jsonString+="},"; }
                 else{
                     return "{},";
                 }}catch(e){
                     return "{},";
                 }
            }

      }
      else if(typeof twObject =='object' && twObject==null){
            return "{},";
        }
      return jsonString;
    }

源代码:http ://www.ibpmcoding.com 。

于 2017-05-24T10:01:42.750 回答