This project hosts an implementation of an expression grammar that operates on JSON documents. The grammar is a mashup of:
Given:
{
"items": [
{
"desc": "pens",
"quantity": 2,
"price": 3.23
},
{
"desc": "pencils",
"quantity": 4,
"price": 1.34
}
]
}
sum(items[*].price * items[*].quantity)
=> 11.82
items[*].{price: price, quantity: quantity, subtotal: price * quantity}
=>
[
{
"price": 3.23,
"quantity": 2,
"subtotal": 6.46
},
{
"price": 1.34,
"quantity": 4,
"subtotal": 5.36
}
]
Visit the Playground