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.

Respuestas a la pregunta(8)

Su respuesta a la pregunta