Если у меня есть коллекция на входе приходит в виде массива. Я использую «modify-default-beta» для записи значений по умолчанию, если отсутствуют значения.
Единственная проблема, с которой я сталкиваюсь - это то, что FacTie генерирует несколько, поскольку это не то, что я ожидал.
Ввод Json с массивом функций:
{
"type": "Collection",
"features": [
{
"type": "Feature",
"geometry": {
"coordinates": [
121.63646666666666,
29.10262638888889
]
},
"properties": {
"clientId": "1123",
"category": "44500",
"datetime_created": " 2018-11-29 10:48:43",
"facTieSk": "-1"
}
},
{
"type": "Feature",
"geometry": {
"coordinates": [
121.63646666666666,
29.10262638888889
]
},
"properties": {
"clientId": "1124",
"category": "44500",
"datetime_created": " 2018-11-29 10:48:43",
"facTieSk": "-1"
}
}
]
}
Spec:
[
{
"operation": "shift",
"spec": {
"features": {
"*": {
"properties": {
"@(1,type)": {
"Feature": {
"@(3,clientId)": "Composite[&4].FacComp.Fac.SysSource",
"@(3,geometry)": {
"@coordinates": {
"*": "Composite[&6].FacComp.geometry.coordinates[]"
}
},
"@(2,category)": "Composite[&4].FacComp.Fac.Category",
"@(2,datetime_created)": ["Composite[&4].FacComp.Fac.DatetimeCreated", "Composite[&4].FacComp.FacTie[&4].DatetimeCreated"],
"@(2,facTieSk)": "Composite[&4].FacComp.FacTie[&4].FacTieSk"
}
}
}
}
}
}
},
{
"operation": "modify-default-beta",
"spec": {
"Composite": {
"*": {
"FacComp?": {
"Fac": {
"FacSk": "-1",
"CoordBasis": "2"
},
"FacTie": {
"*": {
"FacTieSk": "-1",
"TieFromSk": "-1",
"TieToSk": "-1",
"TieToEntity": "FAC"
}
}
}
}
}
}
}
]
Ожидаемый выход:
{
"Composite": [{
"FacComp": {
"geometry": {
"coordinates": [121.63646666666666, 29.10262638888889]
},
"Fac": {
"Category": "44500",
"DatetimeCreated": " 2018-11-29 10:48:43",
"FacSk": "-1",
"CoordBasis": "2"
},
"FacTie": [{
"DatetimeCreated": " 2018-11-29 10:48:43",
"FacTieSk": "-1",
"TieFromSk": "-1",
"TieToSk": "-1",
"TieToEntity": "FAC"
}
]
}
}, {
"FacComp": {
"geometry": {
"coordinates": [121.63646666666666, 29.10262638888889]
},
"Fac": {
"Category": "44500",
"DatetimeCreated": " 2018-11-29 10:48:43",
"FacSk": "-1",
"CoordBasis": "2"
},
"FacTie": [{
"DatetimeCreated": " 2018-11-29 10:48:43",
"FacTieSk": "-1",
"TieFromSk": "-1",
"TieToSk": "-1",
"TieToEntity": "FAC"
}
]
}
}
]
}
Вместо этого я получаю вывод ниже (см. FacTie во втором элементе имеет 2 элемента вместо одного.
{
"Composite" : [ {
"FacComp" : {
"geometry" : {
"coordinates" : [ 121.63646666666666, 29.10262638888889 ]
},
"Fac" : {
"Category" : "44500",
"DatetimeCreated" : " 2018-11-29 10:48:43",
"FacSk" : "-1",
"CoordBasis" : "2"
},
"FacTie" : [ {
"DatetimeCreated" : " 2018-11-29 10:48:43",
"FacTieSk" : "-1",
"TieFromSk" : "-1",
"TieToSk" : "-1",
"TieToEntity" : "FAC"
} ]
}
}, {
"FacComp" : {
"geometry" : {
"coordinates" : [ 121.63646666666666, 29.10262638888889 ]
},
"Fac" : {
"Category" : "44500",
"DatetimeCreated" : " 2018-11-29 10:48:43",
"FacSk" : "-1",
"CoordBasis" : "2"
},
"FacTie" : [ {
"FacTieSk" : "-1",
"TieFromSk" : "-1",
"TieToSk" : "-1",
"TieToEntity" : "FAC"
}, {
"DatetimeCreated" : " 2018-11-29 10:48:43",
"FacTieSk" : "-1",
"TieFromSk" : "-1",
"TieToSk" : "-1",
"TieToEntity" : "FAC"
} ]
}
} ]
}