2017-09-20 5 views
0

Ich habe eine Zeichenfolge von 50 Zeichen und ich möchte 3 kleinere Teile daraus extrahieren. Ich versuchteBrechen Zeichenfolge in mehrere Flowvars in Mulesoft

%dw 1.0 %output application/json 
--- 
payload map ((payload01 , indexOfPayload01) -> {  
    id: payload01.substring(0,2), 
     name: payload01.substring(2,14), 
     age: payload01.substring(14,16) 
}) 

Aber das funktioniert nicht. Irgendwelche Vorschläge?

Antwort

1

Die Operation "Teilstring" in einer Zeichenfolge verwendet eckige Klammern zur Bezeichnung der Position.

id: payload01[0..2] 

Besuchen Sie die Dataweave Operatoren doc für weitere Informationen, https://docs.mulesoft.com/mule-user-guide/v/3.8/dataweave-operators#substring

+0

I zweite ooption versucht, es funktioniert nicht. immer Fehler: com.mulesoft.weave.mule.exception.WeaveExecutionException: Ausnahme während der Ausführung: Nutzlast Karte ((payload01, indexOfPayload01) -> { ^ Typenkonflikt für Operator 'Karte' gefunden: string,: function erforderlich: Array,: Funktion Meine Eingabe Zeichenfolge beginnt mit etwas wie 01Ram Prakash23 – TastyCode

+0

Können Sie bitte Ihre vollständige Eingabe posten? Ist es ein wiederkehrendes Element? Wenn nicht, dann brauchen Sie nicht die "map" -Direktive, nur verwenden , {ID: Nutzlast [0..2], \t Name: Nutzlast [2..14], Alter: Nutzlast [14..16]} –

+0

Dies ist eine Beispieleingabe, ich bin nur besorgt über ID, Name und Alter Das sind die ersten 15 Zeichen. "03Sr i Prakash26 Arlington VA " – TastyCode

Verwandte Themen