Git Product home page Git Product logo

jacques's Introduction

jacques

The AWKward JSON Processor

Jacques aims to address some concerns with JSON

  • Lack of comment support - jacques supports comments
  • Executable Code - jacques files are in no way executable

Jacques is ever so slightly inspired by EBCDIC

Jacque uses the EBCDIC # character converted to ASCII { as a comment.

example.jacques

{ Start Schema Definition
¯\_(ツ)¯\_
{ This is a comment
"event": "puppetconf",
"inspired_by": ["#beerops","#Canada"],
{ End Schema Definition
_/¯(ツ)_/¯

Implementation

Jacques is written in AWK.

Currently only the jacques encoder function is implemented

Usage

jacques attempts to naively detect the type of file based on the file extension.

./jacques -- -h
   Default behavior attempts to naively detect the type of file
  -e encode
  -d decode
  -h this help

./jacques sample/simple.json

¯\_(ツ)¯\_
    "id": 1,
    "name": "A green door",
    "price": 12.50,
    "tags": ["home", "green"]
_/¯(ツ)_/¯

Jacques Is Flexible

Any use of the patterns ¯\_([^\x00-\x7F])¯\_ and _/¯([^\x00-\x7F])_/¯ will be correspondingly replaced with { and '}'. That is you can choose any single non-ascii character in the schema start/end tokens.

Non-exhaustive examples:

  • ϖ as ¯\_(ϖ)¯\_ and _/¯(ϖ)_/¯
  • 𝛑 as ¯\_(𝛑)¯\_ and _/¯(𝛑)_/¯

You can even mix and match your non-ascii characters in the same file!!!

Reviews

Jacques is exactly as useless and half as entertaining as one might expect. -- Shawn Ferry

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.