한 자바 스크립트 어댑터에서 다른 자바 스크립트 어댑터로 json 배열 객체를 전달하는 방법은 무엇입니까?

user1872384

WebSphere Application Server V8.5.5.5에 배치 된 MobileFirst Foundation 8.0.0.00-20160822-2140을 사용하고 있습니다.

  1. 자바 스크립트 어댑터에서 다른 자바 스크립트 어댑터로 json 배열 객체를 전달하는 방법은 무엇입니까?

  2. 자바 스크립트 어댑터에서 아포스트로피를 사용하여 json 배열 객체를 다른 자바 스크립트 어댑터로 전달하는 방법은 무엇입니까?

  3. JSON 크기에 제한이 있습니까?

우리는 시도했습니다 :

  1. 첫 번째 javascript 어댑터에서 두 번째 javascript 어댑터를 호출하려면 다음을 수행하십시오.

    var samplejsonarrayobject = [{a:"xxx",b:"yyy"},{c:"zzz",d:"aaa"}];
    var res = MFP.Server.invokeProcedure({
        adapter: "secondAdapter",
        procedure: "secondAdapterFunction",
        parameters: [samplejsonarrayobject]
    });
    
  2. 와 최초의 자바 스크립트 어댑터에서 두 번째 자바 스크립트 어댑터를 호출하려면 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]
    });
    
  3. 매우 큰 JSON 파일 을 사용하여 첫 번째 javascript 어댑터에서 두 번째 javascript 어댑터를 호출하려면 다음을 수행하십시오.

    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]
    });
    
  4. 아포스트로피 기호 가있는 매우 큰 JSON을 사용 하여 첫 번째 javascript 어댑터에서 두 번째 javascript 어댑터를 호출하려면 다음을 수행하십시오 .

    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) 테스트 케이스 :

[1/10/17 22 : 06 : 04 : 703 MYT] 00000131 MFP.Logger java.lang.IllegalArgumentException : 잘못된 유형의 요소

2) 테스트 케이스의 경우 : JSON을 통과 할 수 있습니다.

3) 테스트 케이스의 경우 : JSON을 전달할 수 없습니다.

원인 : com.fasterxml.jackson.core.JsonParseException : 예기치 않은 문자 ( 's'(코드 115)) : [Source : [ '[{a : "xx'x", b :)에서 ARRAY 항목을 구분하기 위해 쉼표가 필요합니다. "yyy"}, {c : "zzz", d : "aaa"}]; 1 행, 열]

4) 테스트 케이스 :

원인 : com.fasterxml.jackson.core.JsonParseException : 예기치 않은 문자 ( 's'(코드 115)) : [Source : [ '[{a : "xx'x", b :)에서 ARRAY 항목을 구분하기 위해 쉼표가 필요합니다. "yyy"}, {c : "zzz", d : "aaa"}]; 1 행, 열]

해결 방법 :

jsonString = replaceAllString(jsonString, "'s", "'s");

function replaceAllString(stringJ,search, replacement) {
    return stringJ.replace(new RegExp(search, 'g'), replacement);
}
이사 하르 바이스

이것은 실제로 MobileFirst Platform Foundation 7.1의 결함이자 회귀입니다. 개발팀은이 문제를 해결하기 위해 노력할 것입니다.

이 문제를 추적하기 위해 다음 APAR이 열렸습니다. PI74759 : JSON 개체 또는 JSON 배열을 MFP.SERVER.INVOKEPROCEDURE에 매개 변수로 전달할 수 없습니다.

업데이트 : 최신 8.0 iFix를 설치하여 서버에있는이 문제에 대한 픽스를 얻으려면 새 서버를 설치해야합니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Related 관련 기사

뜨겁다태그

보관