我正在尝试从网络服务获取一些消息。内部数据的键是动态的,我试图从数组中获取所有消息并将它们连接到错误消息中。
{
"success": false,
"message": "Eroare validare date",
"data": {
"driver.0.name": [
"Trebuie să menționați nume/denumire pentru șofer"
],
"driver.1.name": [
"Trebuie să menționați nume/denumire pentru șofer"
],
"driver.1tin": [
"CNP/CUI invalid pentru șofer"
],
"vehicle.card": [
"Serie CIV invalidă pentru vehiculul asigurat"
]
}
}
我写了这个规范:
[
{
"operation": "shift",
"spec": {
"message": "body.info_message",
"data": {
"*": {
"*": {
"#1": "body.error_message"
}
}
}
}
}
但我不知道如何定位消息
最佳答案
您可以连续使用shift,然后修改转换以及join函数,例如
[
{
"operation": "shift",
"spec": {
"message": "body.info_message", // changed the key name
"data": {
"*": {
"*": "body.error_message" // combine whole content nested within a single array
}
}
}
},
{
"operation": "modify-overwrite-beta",
"spec": {
"*": {
"error_message": "=join(' | ',@(1,&))"
}
}
}
]
为了生成错误消息的管道分隔内容,例如
{
"body" : {
"info_message" : "Eroare validare date",
"error_message" : "Trebuie s? men?iona?i nume/denumire pentru ?ofer | Trebuie s? men?iona?i nume/denumire pentru ?ofer | CNP/CUI invalid pentru ?ofer | Serie CIV invalid? pentru vehiculul asigurat"
}
}
关于json - JOLT 获取带有动态键的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74950490/