Re: [Json] I-JSON vs. JSON-S

Nico Williams <> Mon, 08 July 2013 16:35 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 6482D21F842E for <>; Mon, 8 Jul 2013 09:35:10 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -2.644
X-Spam-Status: No, score=-2.644 tagged_above=-999 required=5 tests=[AWL=-0.667, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622]
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id ta5N8zd+Gh3h for <>; Mon, 8 Jul 2013 09:35:05 -0700 (PDT)
Received: from ( []) by (Postfix) with ESMTP id 7B3C421F8C40 for <>; Mon, 8 Jul 2013 09:35:05 -0700 (PDT)
Received: from (localhost []) by (Postfix) with ESMTP id 2B5C967407B for <>; Mon, 8 Jul 2013 09:35:05 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed;; h= mime-version:in-reply-to:references:date:message-id:subject:from :to:cc:content-type;; bh=GyJJ2Qin55yUW7igQKp0 GyQpMsM=; b=SaaG5ndWkEYTyPFjnd98b0jM4m3lTmiHsK6bLoKEABYVbEiUJw7L vqT1f5FFOx++DrQRnLCu/GZYIbW5GuUfs8UzmZC3JviKybRkpxicWnJDsxIQIIU4 THI2VanLEiXst0tWxdEknyieGQeF/5X5X+c/ohuhgx0bPqIzchsrQGY=
Received: from ( []) (using TLSv1 with cipher RC4-SHA (128/128 bits)) (No client certificate requested) (Authenticated sender: by (Postfix) with ESMTPSA id 27BBE674089 for <>; Mon, 8 Jul 2013 09:35:03 -0700 (PDT)
Received: by with SMTP id k10so9237941wiv.13 for <>; Mon, 08 Jul 2013 09:35:01 -0700 (PDT)
X-Google-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=xpGE9v+fE7vIDiQhno6x80NNFJi2nuBm3S7l2IX6BCQ=; b=D54Lz8pcByOLSfxN3dtsAwHQq/to8DrJpCAizuBMPg1guild/3+xn6+HSwYQm2qUvO mztNpEmW9dyM8wR+I1939cTUD1loFbR74YxevwS6MAaIAvPHmDKaZ5oN3LtGBT8V/aup bXa9eKNgI4Qt4VTBEGDWW1ApYFh/u+Hq/jkiNAhoX82jlfCaNpRM7j4vCzc4n2Uemrdm dppEqLoPQflwf/9dCsGOhrpwsr1w+VUM8uKXrQTRb0KpRghzrveOJALeQeE1DInEVFg6 z3m/u/ivNzJukD7LhTB0pIPuih9ssLMvoHLEaYKeHEhSpiTiCWbLpcBZqWN4Mn1DKf8a I80A==
MIME-Version: 1.0
X-Received: by with SMTP id mu20mr29404494wic.38.1373301301273; Mon, 08 Jul 2013 09:35:01 -0700 (PDT)
Received: by with HTTP; Mon, 8 Jul 2013 09:35:01 -0700 (PDT)
In-Reply-To: <>
References: <>
Date: Mon, 08 Jul 2013 11:35:01 -0500
Message-ID: <>
From: Nico Williams <>
To: Carsten Bormann <>
Content-Type: text/plain; charset="UTF-8"
Cc: " WG" <>
Subject: Re: [Json] I-JSON vs. JSON-S
X-Mailman-Version: 2.1.12
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: Mon, 08 Jul 2013 16:35:10 -0000

On Mon, Jul 8, 2013 at 7:17 AM, Carsten Bormann <> wrote:
> JSON-S is just the syntax.  The data model being used may be related
> to that of JSON, but ultimately is application specific.  So, Solr can
> have their repeated keys, the "array of general 16-bit values"
> faction can have their unpaired surrogates, etc.

I think even for JSON-S we should leave the duplicate name text that's
in RFC4627.  Solr can still have their dup names, and strings would be
arrays of 16-bit code units.

> When people talk about "not breaking things", it is just not clear
> whether they mean "carry along all usages of JSON-S" or "make sure all
> I-JSON implementations stil interoperate flawlessly".  That's why the
> current charter may have less of a defined meaning than it appears.

I think "don't break me" mostly means: allow my non-I-JSON usage.
I-JSON is about guaranteeing interop because we [will] have a standard
with sufficiently normative language.  So, mostly agreed.

> Unless the two levels of interoperability are clearly identified, it
> is not possible to break neither.

Interop will require specifying which JSON you're using, or actually
sticking to a subset of JSON that happens to interop (which will be
very close to I-JSON, if not exactly I-JSON).  Seems fine to me, given
that we have no other way forward.