[Json] I-JSON

Mark Nottingham <mnot@mnot.net> Mon, 14 November 2016 04:03 UTC

Return-Path: <mnot@mnot.net>
X-Original-To: json@ietfa.amsl.com
Delivered-To: json@ietfa.amsl.com
Received: from localhost (localhost []) by ietfa.amsl.com (Postfix) with ESMTP id 36B87127058 for <json@ietfa.amsl.com>; Sun, 13 Nov 2016 20:03:13 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.602
X-Spam-Status: No, score=-2.602 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([]) by localhost (ietfa.amsl.com []) (amavisd-new, port 10024) with ESMTP id UT6dr6lBeMeA for <json@ietfa.amsl.com>; Sun, 13 Nov 2016 20:03:10 -0800 (PST)
Received: from mxout-07.mxes.net (mxout-07.mxes.net []) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 47723129487 for <json@ietf.org>; Sun, 13 Nov 2016 20:03:10 -0800 (PST)
Received: from dhcp-8ca2.meeting.ietf.org (unknown []) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.mxes.net (Postfix) with ESMTPSA id AD9B422E1FA for <json@ietf.org>; Sun, 13 Nov 2016 23:03:03 -0500 (EST)
From: Mark Nottingham <mnot@mnot.net>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
Mime-Version: 1.0 (Mac OS X Mail 10.1 \(3251\))
Message-Id: <CD8E44F2-3B0F-46A4-B50E-091ED67F5553@mnot.net>
Date: Mon, 14 Nov 2016 13:03:01 +0900
To: json@ietf.org
X-Mailer: Apple Mail (2.3251)
Archived-At: <https://mailarchive.ietf.org/arch/msg/json/UIVU0GggW4ZpvyTZtbYVkEhZscc>
Subject: [Json] I-JSON
X-BeenThere: json@ietf.org
X-Mailman-Version: 2.1.17
Precedence: list
List-Id: "JavaScript Object Notation \(JSON\) WG mailing list" <json.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/json>, <mailto:json-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/json/>
List-Post: <mailto:json@ietf.org>
List-Help: <mailto:json-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/json>, <mailto:json-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 14 Nov 2016 04:03:13 -0000

It seems like I-JSON is the answer to many of the issues that have cropped up with JSON.

However, as a protocol designer, it's not terribly useful to specify I-JSON, because it's very likely that people will just use their existing JSON tools.

A simple answer might be to define a new media type that has a header that's guaranteed to break a JSON parser prepended, but I-JSON as the body.

It might be that people just strip the header and continue to process as JSON, but they have to actively do that, which may be enough of a bar to discourage it (and encourage I-JSON tools to bloom).

Of course, we could define a syntax that's more deeply incompatible with JSON. Not sure if that's necessary, though.


Mark Nottingham   https://www.mnot.net/