我們正在使用部署到WebSphere Application Server V8.5.5.5的MobileFirst Foundation 8.0.0.00-20160822-2140。如何將json數組對象從一個javascript適配器傳遞到另一個javascript適配器?
如何將json數組對象從javascript適配器傳遞到另一個javascript適配器?
如何通過json數組對象與從JavaScript適配器到另一個JavaScript適配器的撇號?
JSON大小是否有限制?
我們曾嘗試:
要從第一個JavaScript接口調用第二個JavaScript的適配器:
var samplejsonarrayobject = [{a:"xxx",b:"yyy"},{c:"zzz",d:"aaa"}]; var res = MFP.Server.invokeProcedure({ adapter: "secondAdapter", procedure: "secondAdapterFunction", parameters: [samplejsonarrayobject] });
要從第一個JavaScript調用第二個JavaScript的適配器適配器
stringify
:var samplejsonarrayobject = [{a:"xxx",b:"yyy"},{c:"zzz",d:"aaa"}]; var stringifysamplejsonarrayobject = JSON.stringy(samplejsonarrayobject); var res = MFP.Server.invokeProcedure({ adapter: "secondAdapter", procedure: "secondAdapterFunction", parameters: [stringifysamplejsonarrayobject] });
撥叫第一個JavaScript適配器第二JavaScript的適配器與非常大 JSON文件:
var largesamplejsonarrayobject = [{a:"xxx",b:"yyy"}...................................{c:"zzz",d:"aaa"}]; var largestringifysamplejsonarrayobject = JSON.stringy(largesamplejsonarrayobject); var res = MFP.Server.invokeProcedure({ adapter: "secondAdapter", procedure: "secondAdapterFunction", parameters: [largestringifysamplejsonarrayobject] });
撥叫第一個JavaScript適配器第二JavaScript的適配器具有非常大的JSON 用撇號符號:
var apostrophesamplejsonarrayobject = [{a:"xx'x",b:"yyy"},{c:"zzz",d:"aaa"}]; var apostrophestringifysamplejsonarrayobject = JSON.stringy(apostrophesamplejsonarrayobject); var res = MFP.Server.invokeProcedure({ adapter: "secondAdapter", procedure: "secondAdapterFunction", parameters: [apostrophestringifysamplejsonarrayobject] });
級返回的錯誤
對於1)測試用例:
[17年1月10日22:06:04:703 MYT] 00000131 MFP.Logger java.lang.IllegalArgumentException異常:無效類型的元素
對於2)測試用例:能夠通過JSON。
對於3)測試用例:無法傳遞JSON。
所致:com.fasterxml.jackson.core.JsonParseException:意外 字符( 'S'(代碼115)):在[來源 條目期待逗號來單獨ARRAY:['[{一個: 「xx'x」,b: 「YYY」},{C: 「ZZZ」,d: 「AAA」}];線1, 柱]
對於4)測試用例:
所致:com.fasterxml.jackson.core。JsonParseException:意外的 字符('s'(代碼115)):期待逗號將[ARRAY ZZZ」,d: 「AAA」}];線1, 柱]
通過解決它:
jsonString = replaceAllString(jsonString, "'s", "'s");
function replaceAllString(stringJ,search, replacement) {
return stringJ.replace(new RegExp(search, 'g'), replacement);
}
你可以發佈服務器日誌嗎?那些捕獲錯誤信息 –
@VivinK的人,對不起還在編輯這個問題。剛剛將它包含在 – user1872384