我想要一个条件转换,如果输入中特定字段的值符合我的条件,我需要在输出中添加一个属性。以下是我需要的输入和输出。
输入-
{
"MC": "OTHER",
"mProperty": {
"PID1": "value1",
"PID2": "value2",
"PID3": "k1"
}
}
条件 - 如果 MC 值为 OTHER,我想向 PID1(或任何 id)添加一个新字段 dataType=string。
预期产出 -
{
"mDefintion" : {
"mProperty" : [ {
"id" : {
"value" : "PID1"
},
"value" : [ {
"valueString" : {
"value" : "value1"
}
} ],
"datatype" : "string"
}, {
"id" : {
"value" : "PID2"
},
"value" : [ {
"valueString" : {
"value" : "value2"
}
} ],
"datatype" : "integer"
}, {
"id" : {
"value" : "PID3"
},
"value" : [ {
"valueString" : {
"value" : "k1"
}
} ],
"datatype" : "integer"
} ]
}
}
非常感谢任何帮助。谢谢。
下面是我正在使用的颠簸代码-
[
{
"operation": "shift",
"spec": {
"*": "&",
"mProperty": {
"PID1": {
"#piid": "mDefintion.mProperty[#2].id.value",
"@": "mDefintion.mProperty[#2].value[0].valueString.value"
},
"*": {
"$": "mDefintion.mProperty[#2].id.value",
"@": "mDefintion.mProperty[#2].value[0].valueString.value"
}
}
}
}
]
无论我尝试多少,我都无法使条件部分正常工作。下面是我为上面的代码得到的输出 -
{
"MC" : "OTHER",
"mDefintion" : {
"mProperty" : [ {
"id" : {
"value" : "piid"
},
"value" : [ {
"valueString" : {
"value" : "value1"
}
} ]
}, {
"id" : {
"value" : "PID2"
},
"value" : [ {
"valueString" : {
"value" : "value2"
}
} ]
}, {
"id" : {
"value" : "PID3"
},
"value" : [ {
"valueString" : {
"value" : "k1"
}
} ]
} ]
}
}