Re: [Json] Regarding JSON text sequence ambiguities (Re: serializing sequences of JSON values)

Matthew Morley <matt@mpcm.com> Tue, 11 March 2014 18:27 UTC

Return-Path: <mmorley@mpcm.com>
X-Original-To: json@ietfa.amsl.com
Delivered-To: json@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 65A5C1A0646 for <json@ietfa.amsl.com>; Tue, 11 Mar 2014 11:27:12 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.977
X-Spam-Level:
X-Spam-Status: No, score=-1.977 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7] autolearn=ham
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 6sJL7F3Y1Vwv for <json@ietfa.amsl.com>; Tue, 11 Mar 2014 11:27:09 -0700 (PDT)
Received: from mail-lb0-f171.google.com (mail-lb0-f171.google.com [209.85.217.171]) by ietfa.amsl.com (Postfix) with ESMTP id 36C661A0473 for <json@ietf.org>; Tue, 11 Mar 2014 11:27:08 -0700 (PDT)
Received: by mail-lb0-f171.google.com with SMTP id w7so5863295lbi.2 for <json@ietf.org>; Tue, 11 Mar 2014 11:27:02 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:sender:in-reply-to:references:date :message-id:subject:from:to:cc:content-type; bh=FTIT/MAgxfyZ7Fjw059ZWKNPerQOTD4Vy9mDW+zImuU=; b=ZqG+jFKu1ISMDqRi9MjJ+BXlQAbGZTx+TtBRAs5cggGfvchEbfAxy73tF6Y599qoy2 09cZJgFCy0smVITg+ApblvbCqRq69+hn/piDUXnCcItuCeOX3WitFP2Pu0+FJId0RYNA bsKn7uqvrnkOAq+Ph0vaLn3HikYhwRwr6xIw0mXIbLpP2AbnrJOklE9NW38YYfLvoCb7 plIbWvhPLZe3OsUUjq22ZR1XZUsXF6fuKy0jO6sCtgaqLN6yakL4He/B5dIfkjDlbUgG X/6KNKGM5jwkH46FFr7wajsbFWBJWH4nSu/eMJqNWBKh3yMoBTBZ0gMCD7r71CkHhvA9 Qdfg==
X-Gm-Message-State: ALoCoQmcdXIJpl4SmCPj4/sA81s0n8FzbACBvFYy90jmFrFGVJuqLK0qKaB3vhyAy8iSSauS+828
MIME-Version: 1.0
X-Received: by 10.152.2.131 with SMTP id 3mr28484540lau.20.1394562422665; Tue, 11 Mar 2014 11:27:02 -0700 (PDT)
Sender: mmorley@mpcm.com
Received: by 10.114.82.170 with HTTP; Tue, 11 Mar 2014 11:27:02 -0700 (PDT)
In-Reply-To: <CAK3OfOj1g_sbnhw9FBCCZtLWsFS5F+aoPX0d5AMkRxQ2fHQi0A@mail.gmail.com>
References: <CAK3OfOj_XQJq-JKAjNdH-GuH0_UwZfeWntgyyizMpTLmSaWQoA@mail.gmail.com> <CAK3OfOio58+1yuxQOcvWep1CADMfE1PVC48XDid0dWvd8=SVjA@mail.gmail.com> <CAOXDeqoYb=NXz4ikMxAg3EHFA+903bFgdpR_BL-K18U2oYriXQ@mail.gmail.com> <CAK3OfOiPDfWpOZgExTmwwq6WFcuVbyi_z3C0=M9RhQveBhV_+w@mail.gmail.com> <CAHBU6iuRyRd95Wa_omGS1_T52t+s0AKjWPUW21EAh2ySHuFp=A@mail.gmail.com> <CAMm+LwjRA8x0=zXGRVDy0BqYvyOcEp7=gnUiG4vYOb1RScoyrA@mail.gmail.com> <CAK3OfOj1g_sbnhw9FBCCZtLWsFS5F+aoPX0d5AMkRxQ2fHQi0A@mail.gmail.com>
Date: Tue, 11 Mar 2014 14:27:02 -0400
X-Google-Sender-Auth: GovlGPpwToMA_Isw6QLyjVdjDys
Message-ID: <CAOXDeqpbSmEicxq_JzJa2iQDn8uJp3XkWp3FGbsbpg-_vgOiaQ@mail.gmail.com>
From: Matthew Morley <matt@mpcm.com>
To: Nico Williams <nico@cryptonector.com>
Content-Type: multipart/alternative; boundary="089e013c674cd2030504f458ddfb"
Archived-At: http://mailarchive.ietf.org/arch/msg/json/Y3QeDHOj_LClVBzKwkHdrAp49qg
Cc: Tim Bray <tbray@textuality.com>, Phillip Hallam-Baker <hallam@gmail.com>, Paul Hoffman <paul.hoffman@vpnc.org>, "json@ietf.org" <json@ietf.org>
Subject: Re: [Json] Regarding JSON text sequence ambiguities (Re: serializing sequences of JSON values)
X-BeenThere: json@ietf.org
X-Mailman-Version: 2.1.15
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: <http://www.ietf.org/mail-archive/web/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: Tue, 11 Mar 2014 18:27:12 -0000

I'm not advocating for comma separators...

But having multiple top level JSON elements separated by a coma is
equivalent to processing an array structure. The initial [ and the closing
] are implicitly mapped to the connection/stream/etc. start and end events.

It is just a minor token replacement at the top level between elements,
which could be layered into some existing tooling. From this point of view,
I would imagine the retooling is minor for either use case. It does mean
tools need to be depth aware.


On Tue, Mar 11, 2014 at 2:08 PM, Nico Williams <nico@cryptonector.com>wrote:

> On Tue, Mar 11, 2014 at 12:09 PM, Phillip Hallam-Baker <hallam@gmail.com>
> wrote:
> > On Tue, Mar 11, 2014 at 12:48 PM, Tim Bray <tbray@textuality.com> wrote:
> >>
> >> Heh, I wonder if there'd be any chance of getting consensus.  I can't
> >> imagine ever using anything but Object Object Object with optional
> >> whitespace separator; unless we all agree on that going in I'd
> pessimistic
> >> about anyone convincing anyone else...
> >
> > But JSON has comma separators, so {..}, {..}, {..} makes far more sense.
>
> JSON text sequences would be a new Proposed Standard (if we go there)
> but like JSON, there exist uses of this "new" thing already -- that
> is, before we get to writing the RFC.
>
> The uses of JSON text sequences that I know of use newlines, not
> commas nor comma-and-newline.  The reason for this is that these use
> cases are text logfile-like: the entries are lines, lines containing
> JSON texts -- usually compact texts, i.e., with no newlines in the
> text, and never more than one text per-line.
>
> For me other uses of JSON text sequences generally result from my use
> of jq, which also effectively separates texts with a newline.  Note
> that jq doesn't need texts to be written compactly when parsing JSON
> text sequences.  It happens though that if you write texts compactly
> followed by a newline then you can implement JSON text sequences with
> all existing JSON parsers.
>
> Switching to using a comma-and-newline would require significant
> retooling.  Therefore I don't see it happening.  Whereas just
> separating JSON texts with newlines is in use because it's always been
> the obvious thing to do.
>
> Nico
> --
>



-- 
Matthew P. C. Morley