Reprezentowanie logiki jako danych w JSON
Ze względów biznesowych musimy uzewnętrznić niektóre logiki warunkowe na zewnętrzne pliki: najlepiej JSON.
Prosty scenariusz filtrowania można obsługiwać, dodając węzeł w następujący sposób:
"filter": [
{
"criteria": "status",
"value": "open",
"condition": "=="
}
]
Wiele warunków może być obsługiwanych przez dodatkowe wartości w tablicy.
"filter": [
{
"criteria": "status",
"value": "open",
"condition": "=="
},
{
"criteria": "condition2",
"value": "value2",
"condition": "=="
}
]
Jednak staje się trochę mylące, gdy mamy do czynienia ze złożonymi warunkami obejmującymi AND lub OR.
Pytanie: czy istnieje standardowy (lub nawet powszechnie akceptowany) format reprezentowania takiej logiki w JSON? Jak byś to zrobił, gdyby to zależało od ciebie?
UWAGA: Pierwsza odpowiedź została napisana jako edytowalna wiki, dzięki czemu może zostać ulepszona przez każdego, kto może to zrobić.