jspath - DSL that enables you to navigate and find data within your JSON documents

  •        153

JSPath is a domain-specific language (DSL) that enables you to navigate and find data within your JSON documents. Using JSPath, you can select items of JSON in order to retrieve the data they contain. JSPath for JSON is like XPath for XML.

https://github.com/dfilatov/jspath

Tags
Implementation
License
Platform

   




Related Projects

jsonpath - Query and manipulate JavaScript objects with JSONPath expressions

  •    Javascript

Query JavaScript objects with JSONPath expressions. Robust / safe JSONPath engine for Node.js. Here are syntax and examples adapted from Stefan Goessner's original post introducing JSONPath in 2007.

JsonPath - Java JsonPath implementation

  •    Java

A Java DSL for reading JSON documents.Jayway JsonPath is a Java port of Stefan Goessner JsonPath implementation. JsonPath expressions always refer to a JSON structure in the same way as XPath expression are used in combination with an XML document. The "root member object" in JsonPath is always referred to as $ regardless if it is an object or array.

JSONPath - A fork of JSONPath from http://goessner.net/articles/JsonPath/

  •    Javascript

Analyse, transform, and selectively extract data from JSON documents (and JavaScript objects). Note that jsonpath-plus is currently suffering from performance problems and the maintainers are not currently able to work on resolving. You may wish to use jsonpath to avoid this problem (though noting that it does not include the proprietary features added to jsonpath-plus).

jsonpath - Ruby implementation of http://goessner.net/articles/JsonPath/

  •    Ruby

This is an implementation of http://goessner.net/articles/JsonPath/. JsonPath is a way of addressing elements within a JSON object. Similar to xpath of yore, JsonPath lets you traverse a json object and manipulate or access it.

json-mask - Tiny language and engine for selecting specific parts of a JS object, hiding the rest.

  •    Javascript

This is a tiny language and an engine for selecting specific parts of a JS object, hiding/masking the rest.The main difference between JSONPath / JSONSelect and this engine is that JSON Mask preserves the structure of the original input object. Instead of returning an array of selected sub-elements (e.g. [{a: 1}, {z: 1}] from example above), it filters-out the parts of the object that you don't need, keeping the structure unchanged: {p: {a: 1}, z: 1}.


JSONiJ - JSON in Java

  •    Java

JSONiJ is a JSON Parser, JPath Implementation and Marshaller implemented in Java. Its easy to use and it has good performance.

spectral - A flexible JSON/YAML linter for creating automated style guides, with baked in support for OpenAPI v2 & v3

  •    TypeScript

Find more installation methods in our documentation. Spectral, being a generic YAML/JSON linter, needs a ruleset in order to be able to lint files. You can learn more about the rulesets here.

jmespath.js - Javascript implementation of JMESPath, a query language for JSON

  •    Javascript

jmespath.js is a javascript implementation of JMESPath, which is a query language for JSON. It will take a JSON document and transform it into another JSON document through a JMESPath expression. In the example we gave the search function input data of {foo: {bar: {baz: [0, 1, 2, 3, 4]}}} as well as the JMESPath expression foo.bar.baz[2], and the search function evaluated the expression against the input data to produce the result 2.

smenu - Terminal utility that allows you to use words coming from the standard input to create a nice selection window just below the cursor

  •    C

smenu is a selection filter just like sed is an editing filter. This simple tool reads words from the standard input, presents them in a cool interactive window after the current line on the terminal and writes the selected word, if any, on the standard output.

filter.js - Complete solution for client side filtering and rendering using JSON data

  •    Javascript

Filter.js is client-side JSON objects filter which can render html elements. Multiple filter criteria can be specified and used in conjunction with each other. Basic requirement to implement filtering using filter.js are JSON data, a 'View' template and a filter criteria.

rdb - Javascript ORM

  •    Javascript

ORM for nodejs. Supports postgres, mySql and sqlite. 1.7.1 Support for schemas (postgres only). 1.7.0 sqlite3 is now a peer dependency. Add it to your own package.json if you intend to use it. 1.6.9 Bugfix: one-to-many relation returns empty if strategy is included. 1.6.8 Bugfix: one-to-many relation returns empty if insert/update is done earlier in transaction. 1.6.7 Bugfix in relations. 1.6.6 Bugfix. 1.6.5 Improved performance on relations. 1.6.4 Bugfix. 1.6.3 Bugfix: potential incorrect timeZoneOffset when serializing date to JSON. Got timeZoneOffset from now() instead of on actual date. 1.6.2 Removed es6 syntax to ensure backwards compatability. Fixed global var leak. 1.6.1 Now supporting sqlite. 1.6.0 Bugfix: potential ambigous column error when using limit and relating to other tables. 1.5.9 Bugfix: using multipleStatements in mySql could sometimes cause an error when updates are run right before a select. Improved performance on limit when relating to other tables. Using uuid instead of node-uuid Updated all dependencies but generic-pool to latest. (Generic-pool has some breaking changes in latest. I will update it in next release.) 1.5.8 Cleanup line breaks in documentation. 1.5.7 Bugfix: getById.exclusive and tryGetById.exclusive did not lock if row was cached. Improved performance on tryGetFirst. 1.5.6 Raw sql filters can accept sql both as string and as function. E.g. var filter = {sql: function() {return 'foo > 1';}}. 1.5.5 Optional locks for getMany, tryGetFirst and tryGetById. Instead of calling getMany(params) just call getMany.exclusive(params). Same syntax goes for tryGetFirst and tryGetById. This will result in SELECT FOR UPDATE. Bugfix: bulk deletes now accepts raw sql filters too. 1.5.4 Transaction locks. Postgres only. 1.5.3 Upgraded to pg 6.0.3 1.5.2 Improved performance and reduced memory footprint. 1.5.1 Documented JSON column type. Bug fix: Insert and foreign key violation. 1.5.0 JSON column type. Postgres json type does not support rdb filters. 1.4.1 Empty filter would sometimes cause invalid filter. 1.4.0 Raw SQL query. 1.3.0 getMany() now supports limit and orderBy - same syntax as in streaming. 1.2.3 Bugfix: iEqual gave incorrect sql when parameterized. 1.2.2 Exlusive no longer returns a clone of table. It has changes current table to exclusive locking. 1.2.1 Bugfix: Exclusive row locks 1.2.0 Exclusive row locks 1.1.0 Now supporting streaming. Requires postgres or MySQL >=5.7.7 1.0.8 README fixup. 1.0.7 Better performance on insert and update. 1.0.6 Bugfix: Transaction domain should not forward rdb singleton from old domain. 1.0.5 Documentation cleanup. 1.0.4 orderBy in toDto(). 1.0.3 toDto() using next tick on every thousandth row to avoid maximum call stack size exceeded. 1.0.2 Reduced number of simultaneous promises in order to avoid maximum call stack size exceeded. 1.0.1 Bugfix: Incorrect insert/updates on timestamp without timezone. The time was converted utc instead of stripping the timezone. 1.0.0 Transaction domain forwards properties from old domain. Semantic versioning from now on. 0.5.1 Improved performance 0.5.0 Logging: rdb.log(someFunc) logs sql and parameters. Raw sql filters. 0.4.9 New method: tryGetById. New filter: iEqual, postgres only. Bugfix: rows.toJSON() without strategy did not include any children. 0.4.8 Explicit pooling with size and end(). Bugfix: mySql did not release client to pool. 0.4.7 Upgraded to pg 4.3.0 Upgraded to mysql 2.5.5 0.4.6 Upgraded pg 4.2.0. 0.4.5 Oops. Forgot to use pg.js instead of pg. 0.4.4 Upgraded all dependencies to latest. Using pg.js instead of pg. 0.4.3 Can ignore columns when serializing to dto. 0.4.2 Bugfix: update on a row crashes when a delete occurs earlier in same transaction. 0.4.1 Bugfix: more global leaks. 0.4.0 Bugfix: global leak. 0.3.9 Bugfix: eager loading joins/hasOne with non unique column names was not handled correctly. 0.3.8 Supports mySql. Bulk deletes. 0.3.7 Bugfix: eager loading manyRelation on a join/hasOne returned empty array #11 0.3.6 Fixed sql injection vulnerability. 0.3.5 Built-in fetching strategies for lazy loading. Works best in readonly scenarios. 0.3.4 Docs and examples split moved to separate file. 0.3.3 Fixed documentation layout again. 0.3.2 Fixed documentation layout. 0.3.1 Case insensitive filters: iStartsWith, iEndsWith and iContains. 0.3.0 Fix broken links in docs. 0.2.9 Support for row.delete(). Rollback only throws when error is present. 0.2.8 Guid accepts uppercase letters. Bugfix: null inserts on guid columns yielded wrong sql. 0.2.7 New method, toDto(), converts row to data transfer object. Bugfix: toJSON returned incorrect string on hasMany relations. 0.2.6 Fixed incorrect links in README. 0.2.5 Bugfix: caching on composite keys could give a crash #7. Improved sql compression on insert/update. 0.2.4 Bugfix: getMany with many-strategy and shallowFilter yields incorrect query #6. 0.2.3 Reformatted documentation. No code changes.

jp - dead simple terminal plots from JSON data. single binary, no dependencies. linux, osx, windows.

  •    Go

Dead simple terminal plots from JSON (or CSV) data. Bar charts, line charts, scatter plots, histograms and heatmaps are supported. Or download the binary from the releases page.

markor - Text editor - Notes & ToDo (for Android) - Markdown, todo.txt, plaintext, math, ..

  •    Java

Markor is a TextEditor for Android. This project aims to make an editor that is versatile, flexible, and lightweight. Markor utilizes simple markup formats like Markdown and todo.txt for note-taking and list management. It is versatile at working with text; it can also be used for keeping bookmarks, copying to clipboard, fast opening a link from text and lots more. Created files are interoperable with any other plaintext software on any platform. Markor is openly developed free software that accepts community contributions. πŸ“ Create notes and manage your to-do list using simple markup formats 🌲 Work completely offline -- whenever, wherever πŸ‘Œ Compatible with any other plaintext software on any platform -- edit with notepad or vim, filter with grep, convert to PDF or create a zip archive πŸ– Syntax Highlighting and format related actions -- quickly insert pictures and to-dos πŸ‘€ Convert, preview, and share documents as HTML and PDF πŸ“š Notebook: Store all documents on a common filesystem folder πŸ““ QuickNote: Fast accessible for keeping notes β˜‘οΈ To-Do: Write down your to-do πŸ– Formats: Markdown, todo.txt, csv, ics, ini, json, toml, txt, vcf, yaml πŸ“‹ Copy to clipboard: Copy any text, including text shared into Markor πŸ’‘ Notebook is the root folder of documents and can be changed to any location on the filesystem. QuickNote and To-Do are textfiles 🎨 Highly customizable, dark theme available πŸ’Ύ Auto-Save with options for undo/redo πŸ‘Œ No ads or unnecessary permissions 🌎 Language selection -- use other language than on the system πŸ”ƒ Markor is an offline app. It works with sync apps, but they have to do syncing respectively. Sync clients known to work in combination include BitTorrent Sync, Dropbox, FolderSync, OwnCloud, NextCloud, Seafile, Syncthing, Syncopoli πŸ”’ Can encrypt your textfiles with AES256. You need to set a password at the settings and use Android device with version Marshmallow or newer. You can use jpencconverter to encrypt/decrypt easily on desktop. Be aware that only the text is encrypted not pictures or attachments.

python-jsonpath-rw - A robust and significantly extended implementation of JSONPath for Python, with a clear AST for metaprogramming

  •    Python

This library provides a robust and significantly extended implementation of JSONPath for Python. It is tested with Python 2.6, 2.7, 3.2, 3.3. (On travis-ci there is a segfault when running the tests with pypy; I don't think the problem lies with this library). The JSONPath syntax supported by this library includes some additional features and omits some problematic features (those that make it unportable). In particular, some new operators such as | and where are available, and parentheses are used for grouping not for callbacks into Python, since with these changes the language is not trivially associative. Also, fields may be quoted whether or not they are contained in brackets.

angelo - Sinatra-like DSL for Reel that supports WebSockets and SSE

  •    Ruby

A Sinatra-like DSL for Reel. Angelo also features before and after filter blocks, just like Sinatra. Filters are ordered as defined, and called in that order. When defined without a path, they run for all matched requests. With a path, the path is interpreted as a Mustermann pattern and params are merged. before filters can set instance variables which can be used in the route block and the after filter. For more info on the difference in how after blocks are handled, see the Errors section below for more info.

ai-resources - Selection of resources to learn Artificial Intelligence / Machine Learning / Statistical Inference / Deep Learning / Reinforcement Learning

  •    

Update April 2017: It’s been almost a year since I posted this list of resources, and over the year there’s been an explosion of articles, videos, books, tutorials etc on the subjectβ€Š—β€Ševen an explosion of ‘lists of resources’ such as this one. It’s impossible for me to keep this up to date. However, the one resource I would like to add is https://ml4a.github.io/ (https://github.com/ml4a) led by Gene Kogan. It’s specifically aimed at artists and the creative coding community. This is a very incomplete and subjective selection of resources to learn about the algorithms and maths of Artificial Intelligence (AI) / Machine Learning (ML) / Statistical Inference (SI) / Deep Learning (DL) / Reinforcement Learning (RL). It is aimed at beginners (those without Computer Science background and not knowing anything about these subjects) and hopes to take them to quite advanced levels (able to read and understand DL papers). It is not an exhaustive list and only contains some of the learning materials that I have personally completed so that I can include brief personal comments on them. It is also by no means the best path to follow (nowadays most MOOCs have full paths all the way from basic statistics and linear algebra to ML/DL). But this is the path I took and in a sense it's a partial documentation of my personal journey into DL (actually I bounced around all of these back and forth like crazy). As someone who has no formal background in Computer Science (but has been programming for many years), the language, notation and concepts of ML/SI/DL and even CS was completely alien to me, and the learning curve was not only steep, but vertical, treacherous and slippery like ice.

json-query - Retrieves values from JSON objects for data binding

  •    Javascript

Retrieves values from JSON objects for data binding. Offers params, nested queries, deep queries, custom reduce/filter functions and simple boolean logic. Specify a query and what to query. Returns an object that describes the result of the query.

JSON-Splora - GUI for editing, visualizing, and manipulating JSON data

  •    Javascript

JSON-Splora is a GUI for editing, visualizing, and manipulating JSON data with jq or JavaScript. The editor is a JavaScript editor, and the input is parsed as json5. This allows for comments as well as a relaxed JSON input format. Once the editor has valid JSON, an input window will appear below, allowing you to manipulate the object with JavaScript or jq. A panel will appear to the right with the output, and updates live as the input or filter changes.

YPImagePicker - πŸ“Έ Instagram-like image picker & filters for iOS

  •    Swift

YPImagePicker is an instagram-like photo/video picker for iOS written in pure Swift. It is feature-rich and highly customizable to match your App's requirements. πŸŒ… Library πŸ“· Photo πŸŽ₯ Video βœ‚οΈ Crop ⚑️ Flash πŸ–Ό Filters πŸ“ Albums πŸ”’ Multiple Selection πŸ“ Video Trimming & Cover selection πŸ“ Output image size And many more...

JSONStream - rawStream.pipe(JSONStream.parse()).pipe(streamOfObjects)

  •    Javascript

The .. operator is the recursive descent operator from JSONPath, which will match a child at any depth (see examples below).If your keys have keys that include . or * etc, use an array instead. ['row', true, /^doc/].






We have large collection of open source products. Follow the tags from Tag Cloud >>


Open source products are scattered around the web. Please provide information about the open source projects you own / you use. Add Projects.