Re: [Json] Meanwhile, out there...

Phillip Hallam-Baker <> Sun, 02 March 2014 15:24 UTC

Return-Path: <>
Received: from localhost ( []) by (Postfix) with ESMTP id C18D21A07DB for <>; Sun, 2 Mar 2014 07:24:13 -0800 (PST)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -1.999
X-Spam-Status: No, score=-1.999 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, SPF_PASS=-0.001] autolearn=ham
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id AeB69d1Z87ux for <>; Sun, 2 Mar 2014 07:24:11 -0800 (PST)
Received: from ( [IPv6:2a00:1450:4010:c04::230]) by (Postfix) with ESMTP id 032281A07DA for <>; Sun, 2 Mar 2014 07:24:10 -0800 (PST)
Received: by with SMTP id 10so3968596lbg.35 for <>; Sun, 02 Mar 2014 07:24:07 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=FBVVFGSVUwKEu7yGI8Cs/RczNHFEudMypqxgXjk9mQo=; b=qIM+BGzf39IhEeJfXQrRsEfWdBKFcCchW+hhgAsB6WK+yCs+7if9L+5mLlexhFXby7 hJVu4LCTtd0wnHhifUgvgTMmydwq2ijBGf6oE99+WcvGrks84Y/PtFpf9J0LMnGxyPVP EPqCEy0Nbuaz0hA8aEN+Y0bv0P7JlaXxbr7rJBaYN1neh/HNL04+hE2bHrwIvQovAFod uSAv7gpvxm8kYTInRlpmx2tddkLsYZ0aCHfAdAWF2j5ShAAjucfuIDlgWhZG6d19ubyA R+q0yY60pagWQVFAvdVcJ0ggsA4UKG+pydX3K62ccTWtvJj7djM6Ov7m7xHSbviUC8Kt F9FA==
MIME-Version: 1.0
X-Received: by with SMTP id i1mr2119399laa.36.1393773847850; Sun, 02 Mar 2014 07:24:07 -0800 (PST)
Received: by with HTTP; Sun, 2 Mar 2014 07:24:07 -0800 (PST)
In-Reply-To: <211FD4E4CB37411AA3BA79156DEF9160@codalogic>
References: <> <> <> <211FD4E4CB37411AA3BA79156DEF9160@codalogic>
Date: Sun, 02 Mar 2014 15:24:07 +0000
Message-ID: <>
From: Phillip Hallam-Baker <>
To: Pete Cordell <>
Content-Type: multipart/alternative; boundary="001a11c27b7a19350404f3a143e2"
Cc: Mark Nottingham <>, Tim Bray <>, Paul Hoffman <>, JSON WG <>
Subject: Re: [Json] Meanwhile, out there...
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: "JavaScript Object Notation \(JSON\) WG mailing list" <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Sun, 02 Mar 2014 15:24:14 -0000

On Sun, Mar 2, 2014 at 12:15 PM, Pete Cordell <>wrote:

> Actually, I really wish the IETF would grab the bull by the horns and
> define a notation that is geared towards it's purposes rather than
> continually making do with everyone else's second-hand cast offs!
> I think something JSON like would be good, but with a few modifications.
> For example SHON - Simple Humanized Object Notation:
> // Implicit initial object - no {
> // Comments are allowed
> a_name_without_space: 12
> // Unquoted whitespace without a comma separates records
> "a name with spaces": 14
> an_array: 15, 16, 17    // Commas implicitly create an array
> an_array: 18    // Another member for an_array
> a_string: "A string"
> another_string: 'Another string'
> an_object: { /* as JSON */ }
> </rant>

Well I could add these as variant syntax in JSONSchema

It is a bit of a misnomer now because I had to write a HTTP server so I
added in a parser/encoder module for RFC822 headers.

At the moment I have three variations on JSON that extend the JSON core

JSON-B   Adds length delimited binary blobs and strings so that it is not
necessary to mess about with BASE64 encoding or escaping UNICODE strings.
This makes modularity a lot easier as it is now easy to wrap one JSON
structure inside another.

JSON-C  Adds in the compression capabilities people often insist are needed.

JSON-D Supports a full range of binary encodings for data etc.

I am thinking about adding in JSON-A which would be an extension to the
ASCII control codes. While people say JSON is a UNICODE format this is only
actually true of JSON strings. It is not legal for a JSON encoding to have
UNICODE characters anywhere else.

Comments are a commonly requested feature. They are essential for using
JSON for configuration so lets add them.

Another essential capability is being able to use JSON for append-only log
file updates. Most operating systems have handlers that can be used to make
append only access transactional.

I will think about the consequences of making LF an implicit comma.