У нас есть строка JSON, возвращаемая в результате запроса oData.
- Мы хотим убрать знак "@" в тегах
- @odata.etag
- msdyn_journaltype@OData.Community.Display.V1.FormattedValue
- msdyn_endtime@OData.Community.Display.V1.FormattedValue
- и т.д.
- Не касаясь значения адреса электронной почты, например «email»: «bob@thebuilder.com».
Я прочитал документацию Apache Camel по адресу http://camel.apache.org/simple.html, Я могу использовать
${in.body.replace('@', '')}
но адрес электронной почты также будет удален.
Конечно, я могу сделать это в несколько шагов, например
${in.body.replace('msdyn_journaltype@OData.Community.Display.V1.FormattedValue', 'msdyn_journaltypeOData.Community.Display.V1.FormattedValue')}
но это можно сделать лучше, верно?
Я думал о функции регулярного выражения Apache Camel, но не так хорошо разбирался в регулярных выражениях.
Кто-то, кто знает хитрости регулярных выражений?
{
"@odata.context": "https:\/\/xxx.api.crm4.dynamics.com\/api\/data\/v9.0\/$metadata#bookableresourcebookings(name,msdyn_milestraveled,msdyn_actualarrivaltime,statecode,msdyn_workorder(foc_sapordernumber),Resource(name,foc_sapresourcenumber,email),msdyn_bookableresourcebooking_msdyn_bookingjournal_Booking(msdyn_journaltype,msdyn_name,msdyn_starttime,msdyn_endtime,msdyn_duration,foc_sapstatisticalkeyfigurecod,statecode))",
"@odata.count": 9,
"value": [
{
"@odata.etag": "W\/\"5775823\"",
"name": "Wartung 2011153 - Wartung - 181 L1205 Stuttgarter Str.\/Aichbr\u00fccke ",
"msdyn_milestraveled@OData.Community.Display.V1.FormattedValue": "0,00",
"msdyn_milestraveled": 0,
"msdyn_actualarrivaltime@OData.Community.Display.V1.FormattedValue": "30.10.2018 08:55",
"msdyn_actualarrivaltime": "2018-10-30T08:55:00Z",
"statecode@OData.Community.Display.V1.FormattedValue": "Active",
"statecode": 0,
"bookableresourcebookingid": "bd90b7e6-18dc-e811-a95a-000d3a29f080",
"msdyn_workorder": {
"foc_sapordernumber": "856900132812"
},
"Resource": {
"name": "Bob the Builder",
"foc_sapresourcenumber": "00290035",
"email": "bob@thebuilder.com"
},
"msdyn_bookableresourcebooking_msdyn_bookingjournal_Booking": [
{
"@odata.etag": "W\/\"5775798\"",
"msdyn_journaltype@OData.Community.Display.V1.FormattedValue": "Working Hours",
"msdyn_journaltype": 690970000,
"msdyn_name": "Wartung 2011153 - Wartung - 181 L1205 Stuttgarter Str.\/Aichbr\u00fccke ",
"msdyn_starttime@OData.Community.Display.V1.FormattedValue": "29.10.2018 14:30",
"msdyn_starttime": "2018-10-29T14:30:00Z",
"msdyn_endtime@OData.Community.Display.V1.FormattedValue": "29.10.2018 16:00",
"msdyn_endtime": "2018-10-29T16:00:00Z",
"msdyn_duration@OData.Community.Display.V1.FormattedValue": "90",
"msdyn_duration": 90,
"foc_sapstatisticalkeyfigurecod": "",
"statecode@OData.Community.Display.V1.FormattedValue": "Active",
"statecode": 0,
"_msdyn_booking_value@OData.Community.Display.V1.FormattedValue": "Wartung 2011153 - Wartung - 181 L1205 Stuttgarter Str.\/Aichbr\u00fccke ",
"_msdyn_booking_value": "bd90b7e6-18dc-e811-a95a-000d3a29f080",
"msdyn_bookingjournalid": "fd340afc-39dc-e811-a95a-000d3a29f080"
},
{
"@odata.etag": "W\/\"5775795\"",
"msdyn_journaltype@OData.Community.Display.V1.FormattedValue": "Travel",
"msdyn_journaltype": 690970002,
"msdyn_name": "Test WPLAN ohne Vertragstermine III - Wartung - Bismarckplatz Ost ",
"msdyn_starttime@OData.Community.Display.V1.FormattedValue": "29.10.2018 13:32",
"msdyn_starttime": "2018-10-29T13:32:00Z",
"msdyn_endtime@OData.Community.Display.V1.FormattedValue": "29.10.2018 14:30",
"msdyn_endtime": "2018-10-29T14:30:00Z",
"msdyn_duration@OData.Community.Display.V1.FormattedValue": "58",
"msdyn_duration": 58,
"foc_sapstatisticalkeyfigurecod": "",
"statecode@OData.Community.Display.V1.FormattedValue": "Active",
"statecode": 0,
"_msdyn_booking_value@OData.Community.Display.V1.FormattedValue": "Wartung 2011153 - Wartung - 181 L1205 Stuttgarter Str.\/Aichbr\u00fccke ",
"_msdyn_booking_value": "bd90b7e6-18dc-e811-a95a-000d3a29f080",
"msdyn_bookingjournalid": "d52eafbd-42dc-e811-a95a-000d3a29f080"
}
],
"msdyn_bookableresourcebooking_msdyn_bookingjournal_Booking@odata.nextLink": "https:\/\/xxx.api.crm4.dynamics.com\/api\/data\/v9.0\/bookableresourcebookings(bd90b7e6-18dc-e811-a95a-000d3a29f080)\/msdyn_bookableresourcebooking_msdyn_bookingjournal_Booking?$select=msdyn_journaltype,msdyn_name,msdyn_starttime,msdyn_endtime,msdyn_duration,foc_sapstatisticalkeyfigurecod,statecode"
}
],
"msdyn_bookableresourcebooking_msdyn_bookingjournal_Booking@odata.nextLink": "https:\/\/xxx.api.crm4.dynamics.com\/api\/data\/v9.0\/bookableresourcebookings(3931de11-f86d-41a8-b483-c9416d20bf0c)\/msdyn_bookableresourcebooking_msdyn_bookingjournal_Booking?$select=msdyn_journaltype,msdyn_name,msdyn_starttime,msdyn_endtime,msdyn_duration,foc_sapstatisticalkeyfigurecod,statecode"
}