英文:
jolt mapping spec to transfer ENUM
问题
{
"user": {
"identity": {
"phoneNumbers": [
{
"operation": "CREATE_OR_REPLACE",
"version": 1555952128591,
"values": [
{
"number": "11111111111",
"telephoneType": "MOBILE"
},
{
"number": "2222222222",
"telephoneType": "LANDLINE"
},
{
"number": "33333333333",
"telephoneType": "OFFICE"
},
{
"number": "4444444444444",
"telephoneType": "OTHER"
}
]
}
]
}
}
}
英文:
I'm trying to transfer the JSON file below to another format, the phoneNumberType should be changed like this:
mobile -> MOBILE
home -> LANDLINE
work -> OFFICE
unspecified -> OTHER
really have no idea, anyone could help?
input:
{
"eventOrdinal": 1555952128591,
"personalInfo": {
"phoneNumbers": [
{
"phoneNumberType": "mobile",
"phoneNumber": "11111111111"
},
{
"phoneNumberType": "home",
"phoneNumber": "2222222222"
},
{
"phoneNumberType": "work",
"phoneNumber": "33333333333"
},
{
"phoneNumberType": "unspecified",
"phoneNumber": "4444444444444"
}
]
}
}
expected:
{
"user": {
"identity": {
"phoneNumbers": [
{
"operation": "CREATE_OR_REPLACE",
"version": 1555952128591,
"values": [
{
"number": "11111111111",
"telephoneType": "MOBILE"
},
{
"number": "2222222222",
"telephoneType": "LANDLINE"
},
{
"number": "33333333333",
"telephoneType": "OFFICE"
},
{
"number": "4444444444444",
"telephoneType": "OTHER"
}
]
}
]
}
}
}
答案1
得分: 0
[
{
"operation": "shift",
"spec": {
"personalInfo": {
"phoneNumbers": {
"*": {
"@": "user.identity.phoneNumbers[0].values.[&1]"
}
}
},
"eventOrdinal": "user.identity.phoneNumbers[0].version",
"#CREATE_OR_REPLACE": "user.identity.phoneNumbers[0].operation"
}
},
{
"operation": "shift",
"spec": {
"user": {
"identity": {
"phoneNumbers": {
"*": {
"operation": "user.identity.phoneNumbers[0].operation",
"version": "user.identity.phoneNumbers[0].version",
"values": {
"*": {
"phoneNumber": "user.identity.phoneNumbers[0].values[&1].number",
"phoneNumberType": {
"mobile": {
"#MOBILE": "user.identity.phoneNumbers[0].values[&3].telephoneType"
},
"home": {
"#LANDLINE": "user.identity.phoneNumbers[0].values[&3].telephoneType"
},
"work": {
"#OFFICE": "user.identity.phoneNumbers[0].values[&3].telephoneType"
},
"unspecified": {
"#OTHER": "user.identity.phoneNumbers[0].values[&3].telephoneType"
}
}
}
}
}
}
}
}
}
}
]
英文:
Check this spec
[
{
"operation": "shift",
"spec": {
"personalInfo": {
"phoneNumbers": {
"*": {
"@": "user.identity.phoneNumbers[0].values.[&1]"
}
}
},
"eventOrdinal": "user.identity.phoneNumbers[0].version",
"#CREATE_OR_REPLACE": "user.identity.phoneNumbers[0].operation"
}
},
{
"operation": "shift",
"spec": {
"user": {
"identity": {
"phoneNumbers": {
"*": {
"operation": "user.identity.phoneNumbers[0].operation",
"version": "user.identity.phoneNumbers[0].version",
"values": {
"*": {
"phoneNumber": "user.identity.phoneNumbers[0].values[&1].number",
"phoneNumberType": {
"mobile": {
"#MOBILE": "user.identity.phoneNumbers[0].values[&3].telephoneType"
},
"home": {
"#LANDLINE": "user.identity.phoneNumbers[0].values[&3].telephoneType"
},
"work": {
"#OFFICE": "user.identity.phoneNumbers[0].values[&3].telephoneType"
},
"unspecified": {
"#OTHER": "user.identity.phoneNumbers[0].values[&3].telephoneType"
}
}
}
}
}
}
}
}
}
}
]
专注分享java语言的经验与见解,让所有开发者获益!
评论