JSON响应IBM BPM
在我们的环境中,我们必须使用JSON格式tw.local.jsonResponse准备响应调用。我是JSON新手,不知道如何在IBM BPM中用以下JSON格式解析日期。如果有人使用以下数据进行指导/建议,可能会有很大帮助JSON响应IBM BPM,json,ibm-bpm,Json,Ibm Bpm,在我们的环境中,我们必须使用JSON格式tw.local.jsonResponse准备响应调用。我是JSON新手,不知道如何在IBM BPM中用以下JSON格式解析日期。如果有人使用以下数据进行指导/建议,可能会有很大帮助 您需要做的第一件事是使用与BO同名的require数据类型创建BO。 然后使用以下代码将TwoObject转换为JSON:- function createJson(twObject){ var jsonString=""; if(typ
您需要做的第一件事是使用与BO同名的require数据类型创建BO。 然后使用以下代码将TwoObject转换为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;
}
源代码:。我在IBM BPM中遇到了类似的json和日期问题 在您的解决方案中,您可以获得外部JavaScript文件json.js 您可以使用以下函数返回JSON字符串:
BPMJSON.convertTWToJSON(tw.local.MyObject, false)
这就是在BPM 8.6中对Rest令牌所起的作用:
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_标记提取为字符串。Humm。。我明白你为什么有这个问题了。让我说清楚 JSON日期不是日期-它们是字符串 因此,JSON中没有固定的日期格式,但对于IBM BPM,我们很幸运 例如,在IBM BPM中,日期的字符串表示形式为UTC时间,由Z表示
new Date("2020-09-24T18:04:41.306Z")
2020-09-24T18:04:41.306Z
例如,您可以在任何浏览器上使用任何日期函数将此日期字符串转换为JS date
new Date("2020-09-24T18:04:41.306Z")
在服务器端JS上,您可以使用相同的技巧,将sting日期转换为JS日期。有什么帮助吗?