Re: [Json] Call for WG Consensus to Adopt I-JSON as a WG Item in the Charter

Phillip Hallam-Baker <hallam@gmail.com> Mon, 17 March 2014 17:49 UTC

Return-Path: <hallam@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 4BE801A042B for <json@ietfa.amsl.com>; Mon, 17 Mar 2014 10:49:08 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.999
X-Spam-Level:
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 mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id wRxm5j_hjvHB for <json@ietfa.amsl.com>; Mon, 17 Mar 2014 10:49:05 -0700 (PDT)
Received: from mail-lb0-x232.google.com (mail-lb0-x232.google.com [IPv6:2a00:1450:4010:c04::232]) by ietfa.amsl.com (Postfix) with ESMTP id 25DCB1A02F8 for <json@ietf.org>; Mon, 17 Mar 2014 10:49:04 -0700 (PDT)
Received: by mail-lb0-f178.google.com with SMTP id s7so3899486lbd.37 for <json@ietf.org>; Mon, 17 Mar 2014 10:48:56 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=zjiOi540kcurjmpZZNpRawhrna8BgHVS6XCmcBoNNgA=; b=jPXxwZJ5t0+gt3X9QE0khfEZXbY6v7MjuzJQ/lNyOjvGg14Rx0iWpsCkVEBbZuvIlQ lIdgX2RIFdUJZ8swef/1x1ZZWS7bXV0jii98vwJpXZcYfi6GfxNejuU3Q7CYQKTPgEYW YZU/ifGdB5vTdYGfYwco/Bkdr5nBkJwKAaJniwixfFz0nIz+4XNO8X3K87sswtJLOwsV XIc1pxCQrqvoYlZqAmflxfuSkhbSb9VzuvLGNXobBub1kC/m3iz2o4fqbNl8+BraaGWJ xLRLhQjTHSrdNlrsADpWVJtqhrEOHqDRukAslBRs5t9QtQX+bkjKPGO9BUT7OAnwzU5k +xIw==
MIME-Version: 1.0
X-Received: by 10.152.234.107 with SMTP id ud11mr2855818lac.22.1395078536282; Mon, 17 Mar 2014 10:48:56 -0700 (PDT)
Received: by 10.112.234.229 with HTTP; Mon, 17 Mar 2014 10:48:56 -0700 (PDT)
In-Reply-To: <CAK3OfOituMQgCgy9G94PXQ5j7zggCKk5oU0svxedt1ziGTV1rg@mail.gmail.com>
References: <53238F21.2030508@cisco.com> <CAK3OfOjBTN4yXxDftOz6fkR60rPJ-c7=_DSXwwQacyVY7o5xiA@mail.gmail.com> <CAMm+LwiwyDthMb-K4aTyMPgsqYXfcorUKTFSj6+EL2Xsh4aX9g@mail.gmail.com> <CAK3OfOituMQgCgy9G94PXQ5j7zggCKk5oU0svxedt1ziGTV1rg@mail.gmail.com>
Date: Mon, 17 Mar 2014 13:48:56 -0400
Message-ID: <CAMm+LwiDRqeFcsO4TqsbWb1haJqdbjJD3ZTZXQ-+Sa_WuSkVSA@mail.gmail.com>
From: Phillip Hallam-Baker <hallam@gmail.com>
To: Nico Williams <nico@cryptonector.com>
Content-Type: multipart/alternative; boundary="001a11340f1e96c75204f4d108d7"
Archived-At: http://mailarchive.ietf.org/arch/msg/json/YockDUOjsiId2Ucco_YGFrOT7ls
Cc: IETF JSON WG <json@ietf.org>
Subject: Re: [Json] Call for WG Consensus to Adopt I-JSON as a WG Item in the Charter
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: Mon, 17 Mar 2014 17:49:08 -0000

On Mon, Mar 17, 2014 at 11:21 AM, Nico Williams <nico@cryptonector.com>wrote:

> On Mon, Mar 17, 2014 at 6:56 AM, Phillip Hallam-Baker <hallam@gmail.com>
> wrote:
> > On Sun, Mar 16, 2014 at 11:51 PM, Nico Williams <nico@cryptonector.com>
> > wrote:
> >> My main complaint is with the recommendation/requirement that JSON
> >> texts be objects at the top-level.
> >>
> >> Instead I would say that if there's reason to need to signal "schema"
> >> metadata in-band then a) application should specify how they do that,
> >> b) here's a few ways in which they might, and all their pros and cons.
> >>
> >> Note too that there are many apps where there's no need to signal
> >> schema metadata in-band because they always have some way to
> >> communicate relevant metadata out of band.
> >
> >
> > I have no problem with this as a convention in a protocol. But I don't
> see
> > the need for that restriction in I-JSON.
>
> If the purpose is to signal schema metadata then I'd like to explore
> other conventions and go for a "you must provide such metadata"
> statement in order to make yours an I-JSON usage.
>
> > In a protocol design the spec is going to say something like 'the
> encoding
> > is in the I-JSON subset of JSON'. Then its going to describe the format
> of
> > the data which for a protocol is almost always gonna be an object per
> > message at the top level. Though it could be an array of objects if
> multiple
> > requests per message are supported.
>
> Right, imagine wrapping an array of objects in an object just to
> denote schema metadata.  What a pain.  You're probably streaming the
> array, so now you gotta add an object around it -- and remove it -also
> in a streaming manner- on the parser side.
>
> Or perhaps you have a sequence of objects to return... should you mark
> up every one of those objects?  While streaming them?  More pain.
>
> We should consider how this markup happens.
>
> Incidentally, we could say that the first text in a JSON text sequence
> should denote schema metadata for the rest...  That would not be so
> painful.  (although it would still interfere with existing usage).
>
> Nico
> --
>


As a general rule, whenever I see a proposal that depends on the order of
JSON objects, I think that either an Array or an Object needs to be
introduced.

I very much prefer this

{ "get-request" : {  .... request data here .... } }


to this:

{ "jscommand" : "get-request",
   ... rest of request data follows ...
   }


One of the things I have come to detest in HTTP is that it does not
separate protocol headers from content metadata. There really should be a
separation between the two so that it is possible to do things like signing
the content metadata.


-- 
Website: http://hallambaker.com/