Gibt es eine (ungefähr) SQL- oder XQuery-ähnliche Sprache zum Abfragen von JSON?
Ich denke an sehr kleine Datensätze, die sich gut für JSON eignen, wo es hilfreich wäre, einfach Fragen wie "Was sind alle Werte von X, wobei Y> 3 ist" zu beantworten oder die üblichen Operationen vom Typ SUM / COUNT auszuführen.
Als komplett erfundenes Beispiel so etwas:
[{"x": 2, "y": 0}}, {"x": 3, "y": 1}, {"x": 4, "y": 1}]
SUM(X) WHERE Y > 0 (would equate to 7)
LIST(X) WHERE Y > 0 (would equate to [3,4])
Ich denke, dies würde sowohl clientseitig als auch serverseitig funktionieren, wobei die Ergebnisse in die entsprechende sprachspezifische Datenstruktur konvertiert werden (oder möglicherweise als JSON beibehalten werden).
Ein kurzes Googeln deutet darauf hin, dass die Leute darüber nachgedacht und einige Dinge implementiert haben ( JAQL ), aber es scheint noch keine Standardverwendung oder eine Reihe von Bibliotheken entstanden zu sein. Obwohl jede Funktion für sich genommen ziemlich trivial zu implementieren ist, möchte ich das Rad nicht neu erfinden, wenn jemand es bereits richtig gemacht hat.
Irgendwelche Vorschläge?
Bearbeiten: Dies kann in der Tat eine schlechte Idee sein oder JSON kann ein zu allgemeines Format für das sein, was ich denke. Der Grund für den Wunsch nach einer Abfragesprache, anstatt nur die Summierungs- / etc-Funktionen direkt nach Bedarf auszuführen, ist, dass ich hoffe, sie zu erstellen Die Abfragen basieren dynamisch auf Benutzereingaben. Ein bisschen wie das Argument, dass "wir kein SQL brauchen, wir können nur die Funktionen schreiben, die wir brauchen". Irgendwann gerät das entweder außer Kontrolle oder Sie schreiben Ihre eigene SQL-Version, während Sie sie immer weiter vorantreiben. (Okay, ich weiß, das ist ein bisschen albern, aber Sie haben die Idee ..)