it bewares my projects

What is it? One only has to know: It is! And it knows my projects and how they work, hence it has no other option than to beware of them. Henceforth it will provide one with info about these projects:

it.bewares JSON

Why should one use specifically this libary and not another of the thousands available?

It is a lightweight, JSON library, providing

Where could one find more about it.bewares JSON and its source code?

One can find it

Disclaimer: Do NOT trust any JSON library! It is a known fact that those are b-ware. Hence one should not consider them trustworthy.

JSON Selector

Because JSON Pointer (RFC 6901, also available in it.bewares JSON) and JSONPath have their flaws and/or limits, I decided to invent a new grammar for selectors of JSON.

The syntax in Augmented Backus-Naur Form (RFC 5234) for the JavaScript Object Notation Selector is:
“ws”, “true”, “false”, “null”, “string”, “number” and “int” are described in RFC 8259.

json-selector = *(ws seperator ws node) ws

node = definite-node / expression-node
definite-node = string / int
expression-node = begin-expressions ws expressions ws end-expressions
selector-method = seperator ("length") %x28.29

relative-definite-selector = relative-selector definite-selector
relative-selector = relative-selection [("key" / "index")] / absolute-selection
definite-selector = *(ws seperator ws definite-node)
expression-selector = relative-definite-selector [selector-method]

expressions = expression / expression ws logical-connective ws expressions
expression = expression-value ws (comperator ws expression-value / regex-comp ws regex)
expression-value = string / number / true / false / null / expression-selector

regex = string / relative-definite-selector

logical-connective = %x26.26 / ; &&
                     %x7c.7c   ; ||

relative-selection = %x40      ; @
absolute-selection = %x23      ; #

comperator = %x3c    /         ; <
             %x3e    /         ; >
             %x3c.3d /         ; <=
             %x3e.3d /         ; >=
             %x3d.3d /         ; ==
             %x21.3d           ; !=
regex-comp = %x7e              ; ~

seperator = %x2f               ; .

begin-expressions = %x28       ; (
end-expressions = %x29         ; )
Future revisions of JSON Selector may extend the grammar, e.g. more selector methods will be available. I won't ensure backwards compatibility, however I am myself interested in long-term stability.

JSON Patch

see it.bewares JSON, RFC 6902

alternative generators and parsers for it.bewares JSON

see it.bewares JSON

it.bewares adFilters

subscribe, see GitLab Repo

privacy policy

No personal data are collected.