Since I'm recently involved in building startup, I'm not able to manage development of ObjectPath in a pace that the community requires. Therefore I'm looking for a person who would help me with maintaining this project especially with tasks of releasing new versions and documenting the language functionality.
If you are interested in taking ObjectPath to the next stage, drop me an e-mail!
#Python #NoSQL #Javascript #JSON #nested-array-object
ObjectPath is a query language similar to XPath or JSONPath, but much more powerful thanks to embedded arithmetic calculations, comparison mechanisms and built-in functions. This makes the language more like SQL in terms of expressiveness, but it works over JSON documents rather than relations. ObjectPath can be considered a full-featured expression language. Besides selector mechanism there is also boolean logic, type system and string concatenation available. On top of that, the language implementations (Python at the moment; Javascript is in beta!) are secure and relatively fast.
More at ObjectPath site
ObjectPath makes it easy to find data in big nested JSON documents. It borrows the best parts from E4X, JSONPath, XPath and SQL. ObjectPath is to JSON documents what XPath is to XML. Other examples to ilustrate this kind of relationship are:
Scope | Language |
---|---|
text documents | regular expression |
XML | XPath |
HTML | CSS selectors |
JSON documents | ObjectPath |
$ sudo pip install objectpath
$ objectpath file.json
or
$ git clone https://github.com/adriank/ObjectPath.git
$ cd ObjectPath
$ python shell.py file.json
$ sudo pip install objectpath
$ python
>>> from objectpath import *
>>> tree=Tree({"a":1})
>>> tree.execute("$.a")
1
>>>
$ git clone https://github.com/adriank/ObjectPath.git
$ cd ObjectPath
$ python
>>> from objectpath import *
>>> tree=Tree({"a":1})
>>> tree.execute("$.a")
1
>>>
AGPLv3
Using ObjectPath language in your project does not mean that your project is a derivative work, provided that you don't
- extend the language functionality,
- make optimizations,
- sub-class any of it's modules.
AGPL v3 license has been chosen to ensure language consistency and provide a way to finance its development.
AGPL is choosen to make access to the code equal for any party. If you make changes to the library, just give changes back to the community so that everyone can benefit.