on 10-11-2018 2:20 PM
Dear Experts,
Please help me Groovy Script to Find and Replace Text the field values.
E.g:
Input Payload
{ "userName": "",
"name":
{ "givenName": "
", "familyName": "",
"middleName": "",
},
After Conversion Output should like this:
{ "user:Name:123333": " ",
"na:m:e":
{ "$givenName": "
", "$family:Name": "",
"middle:Name": "",
}
Please help me to find and replace a field names.
i have tried this code but i am getting only one i need to replace multiple fileds
import com.sap.gateway.ip.core.customdev.util.Message;
import java.util.HashMap;
def Message processData(Message message) {
def msgBodyOriginal = message.getBody(java.lang.String) as String
def msgBodyModified = msgBodyOriginal.replace('userName', 'user:Name:123333')
message.setBody(msgBodyModified)
return message
}
Regards,
Naveen
Please try putting below
\$givenName
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
How can i add a new field in the json using the above code?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Try this -
import com.sap.gateway.ip.core.customdev.util.Message;
import java.util.HashMap;
def Message processData(Message message) {
def msgBodyOriginal = message.getBody(java.lang.String) as String
msgBodyOriginal.replace('userName', 'user:Name:123333')
msgBodyOriginal.replace('name', 'na:m:e')
msgBodyOriginal.replace('givenName', '$givenName')
msgBodyOriginal.replace('familyName', '$family:Name')
msgBodyOriginal.replace('middleName', 'middle:Name')
message.setBody(msgBodyOriginal)
return message;
}
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Apu,
Thanks for replying.
I have tried this code not working..
Then i have tried below this code working fine
import com.sap.gateway.ip.core.customdev.util.Message;
import java.util.HashMap;
def Message processData(Message message) {
def msgBodyOriginal = message.getBody(java.lang.String) as String
def msgBodyModified = msgBodyOriginal.replaceAll('userName','user:Name:123333')
def msgBodyModified1 = msgBodyModified.replaceAll('givenName', '$givenName')
def msgBodyModified2 = msgBodyModified1.replaceAll('familyName', '$family:Name')
message.setBody(msgBodyModified2)
return message;
}
But 'givenName' to '$givenName' i am not able to convert,I am getting this error:
.java.lang.Exception: java.lang.IllegalArgumentException: Illegal group reference@ line 9 in RemoveBracket.groovy
Please help me to pass $ symbol along with fieldname.
Regards,
Naveen
User | Count |
---|---|
85 | |
10 | |
10 | |
9 | |
6 | |
6 | |
6 | |
5 | |
4 | |
3 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.