Representando la lógica como datos en JSON
Por razones comerciales, necesitamos externalizar cierta lógica condicional en archivos externos: preferiblemente JSON.
Un simple filtro por escenario podría manejarse agregando un nodo de la siguiente manera:
"filter": [
{
"criteria": "status",
"value": "open",
"condition": "=="
}
]
Múltiples condiciones podrían ser manejadas por valores adicionales en la matriz.
"filter": [
{
"criteria": "status",
"value": "open",
"condition": "=="
},
{
"criteria": "condition2",
"value": "value2",
"condition": "=="
}
]
Sin embargo, se vuelve un poco confuso cuando manejamos condiciones complejas que involucran AND u OR.
Pregunta: ¿existe un formato estandarizado (o incluso ampliamente aceptado) para representar dicha lógica dentro de los JSON? ¿Cómo lo harías si dependiera de ti?
NOTA: La primera respuesta se ha convertido en un wiki editable, de modo que cualquier persona que lo crea pueda mejorarlo.