我试图做一个JOLT转换,但是在编写相同的规范时遇到了一些困难。我想将一些json元素从一个列表移动到另一个列表。
INPUT JSON
{
"billingsystem": {
"request": {
"profile": {
"identification_details": [
{
"identification_type": "1",
"identification_number": "4321221",
"id_issue_date": "11/11/2014",
"id_expiry_date": "11/11/2040",
"issuer_id": "vx",
"comment": "other"
}
],
"addresses": [
{
"language_id": "1",
"subscriber_level": "0",
"address_type": "0",
"addr_line1": "13 B, Sea View",
"addr_line2": "3rd Cross",
"addr_line3": "Chicago",
"addr_line4": "Illinois",
"addr_line5": "60601",
"country_id": "1"
}
]
}
}
}
}
我想将此更改为给定的输出json。我需要一个可以解决该问题的规范。需要一个可以处理
的规范OUTPUT JSON
{
"billingsystem": {
"request": {
"profile": {
"identification_details": [
{
"identification_type": "1",
"identification_number": "4321221",
"id_issue_date": "11/11/2014",
"id_expiry_date": "11/11/2040",
"issuer_id": "vx",
"comment": "other",
"addr_line3": "Chicago",
"addr_line4": "Illinois",
"addr_line5": "60601",
"country_id": "1"
}
],
"addresses": [
{
"language_id": "1",
"subscriber_level": "0",
"address_type": "0",
"addr_line1": "13 B, Sea View",
"addr_line2": "3rd Cross",
}
]
}
}
}
}
最重要的一点是,在数组中(在震荡中)使用索引时,要将参数从何处移至要移位的位置,并且了解“ @,*,(index)”,它将帮助您从那里走出来
解决方案-规格:
[
{
"operation": "shift",
"spec": {
"billingsystem": {
"request": {
"profile": {
"addresses": {
"*": {
"language_id": "request.profile.addresses[&1].language_id",
"subscriber_level": "request.profile.addresses[&1].subscriber_level",
"address_type": "request.profile.addresses[&1].address_type",
"addr_line1": "request.profile.addresses[&1].addr_line1",
"addr_line2": "request.profile.addresses[&1].addr_line2"
}
},
"identification_details": {
"*": {
"identification_type": "request.profile.identification_details[&1].identification_type",
"identification_number": "request.profile.identification_details[&1].identification_number",
"id_issue_date": "request.profile.identification_details[&1].id_issue_date",
"id_expiry_date": "request.profile.identification_details[&1].id_issue_date",
"issuer_id": "request.profile.identification_details[&1].id_expiry_date",
"comment": "request.profile.identification_details[&1].comment",
"@(2,addresses[&].addr_line3)": "request.profile.identification_details[&1].addr_line3",
"@(2,addresses[&].addr_line4)": "request.profile.identification_details[&1].addr_line4",
"@(2,addresses[&].addr_line5)": "request.profile.identification_details[&1].addr_line5"
}
}
}
}
}
}
}
]