Re: [Json] serializing sequences of JSON values

Jacob Davies <jacob@well.com> Fri, 14 March 2014 22:39 UTC

Return-Path: <cromis@gmail.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 EB2B91A0208 for <json@ietfa.amsl.com>; Fri, 14 Mar 2014 15:39:11 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.278
X-Spam-Level:
X-Spam-Status: No, score=-1.278 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, FM_FORGED_GMAIL=0.622, FREEMAIL_FROM=0.001, SPF_PASS=-0.001] autolearn=no
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 Vnt3BaAcVDYr for <json@ietfa.amsl.com>; Fri, 14 Mar 2014 15:39:09 -0700 (PDT)
Received: from mail-ie0-x22d.google.com (mail-ie0-x22d.google.com [IPv6:2607:f8b0:4001:c03::22d]) by ietfa.amsl.com (Postfix) with ESMTP id 13EE71A01FE for <json@ietf.org>; Fri, 14 Mar 2014 15:39:09 -0700 (PDT)
Received: by mail-ie0-f173.google.com with SMTP id rl12so3314807iec.4 for <json@ietf.org>; Fri, 14 Mar 2014 15:39:02 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:from:date:message-id :subject:to:cc:content-type; bh=pPfC1EJHHtR6q8Ea+RSd6YzPSs5sXW6KeM6M/vTwmHw=; b=wOZKKnRPlZqbPxReQTNdkv/NBizZIrgGV1ulbxykhK4LQLuoz/kf0REtYz3kigu2zF 0W7j2I9U1bRNZmRFxxjxeLwmHNYGrCOfkybTr1QQZEhDxodoTdThiUfS4unJTPhv3dt/ KRWRnTVAPAj+97jVafNUwRBniLB/M+RZmOaDtA8MP9VzVfssXEDhAKPsH+2HZSWXs9L+ 5iJuElA4rcmrtTu20RwVxxD8p/hSFdl7FhIowV067UvbrgJhmyZBB6SfdExOFDpS2gKe yVvkTMbHd9QLzjb1M5b/pA5t4FsiCq7HSew+ZzXUjxFHeQBKh9MFF7oz2KCFGy+V9e1U 5cTw==
X-Received: by 10.43.138.8 with SMTP id iq8mr8814666icc.37.1394836741948; Fri, 14 Mar 2014 15:39:01 -0700 (PDT)
MIME-Version: 1.0
Sender: cromis@gmail.com
Received: by 10.64.9.180 with HTTP; Fri, 14 Mar 2014 15:38:24 -0700 (PDT)
In-Reply-To: <CAGrxA270ARHz-XepgY-4PpTGqJG+4xGbFQ15kWYXPs_52vHtEg@mail.gmail.com>
References: <em2c025504-6532-4513-a339-3d71c4cdfbda@helsinki> <5FC8412F-30E5-4F80-AB63-6715B1053098@vpnc.org> <58a4b20f768b484c94a850c4eba71ec5@BL2PR02MB307.namprd02.prod.outlook.com> <53222FFC.8070204@cisco.com> <5322714F.6080508@it.aoyama.ac.jp> <CAGrxA26HRqa+R580qfEMXU_JGid-UDzwwmQigOkOW0OWuA9mpg@mail.gmail.com> <CAK3OfOier6uQ4nVuuCP+uWV+eRbYh8qqAi4FVdWqNLHOh94L+A@mail.gmail.com> <CAGrxA275TwvbUkAT7tp9NtgTDN1WwPNP33aKmAZdB7QJkSY0CA@mail.gmail.com> <CAK3OfOj3e7pqj5R-ggHhXfaN5p1CG+6djiLizaRE2nJnF1ivGA@mail.gmail.com> <CAK3OfOhYxRR1ii3=eezXAmUR1ArpZDmAzbjRdHL2ASQ7Y1deDw@mail.gmail.com> <CAGrxA270ARHz-XepgY-4PpTGqJG+4xGbFQ15kWYXPs_52vHtEg@mail.gmail.com>
From: Jacob Davies <jacob@well.com>
Date: Fri, 14 Mar 2014 15:38:24 -0700
X-Google-Sender-Auth: Ev-JCmn4lhACoCTYvvlNrM4cnTg
Message-ID: <CAO1wJ5Scko03gFSkA1aoYfVbfGN2ibMLp357KfwkNCrEd8LT-w@mail.gmail.com>
To: Tatu Saloranta <tsaloranta@gmail.com>
Content-Type: text/plain; charset=ISO-8859-1
Archived-At: http://mailarchive.ietf.org/arch/msg/json/ZceS3Uo2F4HQagihEkXiKxwbsbE
Cc: Nico Williams <nico@cryptonector.com>, "json@ietf.org" <json@ietf.org>, Matt Miller <mamille2@cisco.com>
Subject: Re: [Json] 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: Fri, 14 Mar 2014 22:39:12 -0000

Requiring that the separator be newline and that the JSON be
serialized without embedded newlines is convenient but seems like an
awkward way to handle splittable sequences when there are other
characters that are not permitted to appear in JSON texts that could
be used with unmodified existing JSON emitters. For instance, form
feed (ASCII 12) or record separator (ASCII 30). Yes, newline has the
advantage of letting you use an existing read-line facility, but
having to explain "A JSON sequence is a sequence of JSON texts - but
they're special JSON texts with no newlines! - separated by newlines"
seems pretty awkward.

I can see how it would be convenient in some cases, but I think it's
better for higher-level structures built on lower-level ones not to
make special requirements of the latter. JSON has always allowed
newlines.

On Fri, Mar 14, 2014 at 12:30 PM, Tatu Saloranta <tsaloranta@gmail.com> wrote:
> On Fri, Mar 14, 2014 at 4:37 PM, Nico Williams <nico@cryptonector.com>
> wrote:
>>
>> The most interoperable form of JSON text sequence would be this:
>> encoders MUST not use newlines in their JSON text encodings and MUST
>> follow each JSON text with a newline.
>
>
> And presumably this would include all linefeeds that JSON specification
> supports? (\r, \n and \r\n).
>
> -+ Tatu +-
>
>
> _______________________________________________
> json mailing list
> json@ietf.org
> https://www.ietf.org/mailman/listinfo/json
>