2017-04-12 2 views
-1

세일즈 포스 &에서 출력을 json으로 변환하려고합니다. 여기 내 코드는 다음과 같습니다.Mule : Dataweave Iteration not working

%dw 1.0 
    %output application/json 

    payload map { 
      headerandlines:{ id   : $.Id, 
       agreementLineID  : $.LineItems__r.Id, 
       netPrice   : $.LineItems__r.Price__c, 
       volume    : $.Volume__c, 
       name    : $.Name, 
       StartDate   : $.Start_Date__c, 
       EndDate    : $.End_Date__c, 
       poField    : $.PO_Field__c, 
       ConsoleNumber  : $.Console_Number__c, 
       Term    : $.Term__c, 
       ownerID    : $.OwnerId, 
       Unit    : $.Unit__c, 
       siteNumber   : $.Site_Num__c, 
       customerNumber  : $.Customer_Num__c 
      } 


     } 

입력 페이로드는 다음과 같습니다. 오브젝트 컬렉션입니다. 어떻게 든 변환 후 첫 번째 객체는 & 나머지가 clobbered 전송됩니다.

[ 
    { 
"id": "DA0YAAW", 
"LineID": [ 
    "jGEAU", 
    "jBEAU", 
    "j6EAE" 
], 
"Price": [ 
    "50000.0", 
    "12000.0", 
    "45000.0" 
], 
"netPrice": null, 
"volume": null, 
"name": " Test 2.24", 
"StartDate": "2017-02-17", 
"EndDate": "2018-02-17", 
"poField": "123456", 
"ConsoleNumber": "8888888", 
"PaymentTerm": "thirty (30)", 
"ownerID": “abcd”, 
"OperatingUnit": " International Company", 
"siteNumber": null, 
"customerNumber": null 
}, 
{ 
"id": "a37n0000000DAMAAA4", 
"LineID": [ 
    "JunEAE", 
    "JuiEAE", 
    "KdMEAU", 
    "JuYEAU" 
], 
"Price": [ 
    "5000.0", 
    "8000.0", 
    "5000.0", 
    "5000.0" 
], 
"netPrice": null, 
"volume": null, 
"name": " Test 3.6", 
"StartDate": "2017-03-06", 
"EndDate": "2018-03-16", 
"poField": "12345", 
"ConsoleNumber": "123456-", 
"PaymentTerm": "30 NET", 
"ownerID": “dfgh”, 
"OperatingUnit": ", inc.", 
"siteNumber": null, 
"customerNumber": null 
}, 

....

]

나는 여러 개체와 전체 페이로드를 얻을 (API 테스트를 사용) 브라우저에서이 코드를 호출

. 이 API를 다른 API에서 호출하면 루핑을 통해 하나의 객체 만 표시된다는 것을 알 수 있습니다. 페이로드에 여러 객체가 있음을 확인할 수 있습니다. 여러 객체를 추출하기 위해이 코드를 루핑한다는 측면에서 내가 놓치고있는 것이 있습니까? 나는 '$'표기법이 반복에 충분하다고 가정합니다.

+0

페이로드는 어떤 모양입니까? – Yevgeniy

+0

안녕하세요, 입력 페이로드 – insaneyogi

+0

가 심각한가요? 귀하의 예제는 유효하지 않은 문자로 가득 차며 데이터 위브에서 참조되는 단일 속성을 포함하지 않습니다. – Yevgeniy

답변

0

@insaneyogi, 입력 내용이 잘못되었거나 데이터 파일이 잘못되었습니다. 여기에 입력에 작은 ID를 지정했습니다. 그러나 데이터 매듭에서, 그것은 자본에서 언급된다.

0

문제는 여기에 Lineitem 및 Price 유형 요소가 있다고 생각합니다. 그것들은 내부 및 요소의 모음입니다. 귀하의 데이터 매핑 $. 외부 물체를 돌볼 것입니다. 그러나 LineItems__r.Price__c와 같은 매핑이 올바르지 않다고 생각합니다. 올바른 인덱스를 가져야합니다 (아마 LineItems__r.Price__c [0]). 그것을 시도하십시오 그리고 그것은 작동합니다. 먼저 가격 또는 라인 항목 및 테스트를 위해 단일 요소로 입력을 변경하십시오.