A JSON data context driver for LINQPad
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
JsonCSharpClassGeneratorLib
JsonDataContextBase
JsonDataContextDriver
.gitattributes
.gitignore
LICENSE
README.md

README.md

JSON Data Context Driver for LINQPad

A dynamic data context driver for querying JSON data with LINQPad. See here for an overview, and check the releases for binaries.

This driver allows you to select a set of JSON inputs from which a LINQPad data context will be generated for strongly typed access. A context can currently be built from any combination of:

  • plain text inputs (for example, pasted in or typed by hand)
  • individual file paths
  • directories to search, with a filemask (e.g. *.json, *.*) and the option for recursive enumeration
  • GET calls to urls that return json, exposed either as properties on the context, or methods with parameters mapped to querystring components in the url

####Screenshots

####Planned Features:

  • enhanced support for grabbing JSON from the world wide web (basic GET with headers is currently supported, support for POST planned)
  • support for caching of deserialised data, as well as programmatic invalidation of cached data
  • support for persisting new data to the context (for example, written to path in the context's search definitions), allowing you to build out your context as you go
  • better support wrapped JSON
  • fixes for JSON data that it chokes on
  • better error handling and no modal error dialogs (please forgive me, gods of UX).

####Considerations: #####Errors:

Errors encountered when processing individual sources will not typically prevent the construction of a full context; that is, 'bad' inputs will be ignored and the context is generated with 'good' ones. If the driver fails on inputs that you are able to share, please include them when filing an issue.

####Contributing:

Very welcome - fork, branch, PR 🌟

####Attributions: