Re: [Json] The names within an object SHOULD be unique.

Stefan Drees <stefan@drees.name> Thu, 06 June 2013 05:21 UTC

Return-Path: <stefan@drees.name>
X-Original-To: json@ietfa.amsl.com
Delivered-To: json@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 2AE5A21F96F7 for <json@ietfa.amsl.com>; Wed, 5 Jun 2013 22:21:26 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.649
X-Spam-Level:
X-Spam-Status: No, score=-1.649 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, HELO_EQ_DE=0.35, J_CHICKENPOX_35=0.6]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Mr+N0hw3VEGq for <json@ietfa.amsl.com>; Wed, 5 Jun 2013 22:21:20 -0700 (PDT)
Received: from mout.web.de (mout.web.de [212.227.17.11]) by ietfa.amsl.com (Postfix) with ESMTP id 1A02421F96ED for <json@ietf.org>; Wed, 5 Jun 2013 22:21:19 -0700 (PDT)
Received: from newyork.local.box ([77.13.209.10]) by smtp.web.de (mrweb101) with ESMTPSA (Nemesis) id 0MYf78-1UpUyK011m-00VayH; Thu, 06 Jun 2013 07:21:18 +0200
Message-ID: <51B01C4D.4020309@drees.name>
Date: Thu, 06 Jun 2013 07:21:17 +0200
From: Stefan Drees <stefan@drees.name>
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:17.0) Gecko/20130509 Thunderbird/17.0.6
MIME-Version: 1.0
To: "Joe Hildebrand (jhildebr)" <jhildebr@cisco.com>
References: <A723FC6ECC552A4D8C8249D9E07425A70FC2C26F@xmb-rcd-x10.cisco.com>
In-Reply-To: <A723FC6ECC552A4D8C8249D9E07425A70FC2C26F@xmb-rcd-x10.cisco.com>
Content-Type: text/plain; charset="ISO-8859-1"; format="flowed"
Content-Transfer-Encoding: 7bit
X-Provags-ID: V02:K0:dATIjIga4qni4OXL/e83ZxQlNF0Vdub0JohgHwScTxI yRmQ2/PTSWrejHww8WOfxzEPzhIgWbJ7RvaunMZ7Df/9helEM6 V+SDC2Dpz3hfvZj8ZGFZLA3Kgkm35hkCBP3NfG7o49iE6t+YuK 4C6JfZChhpaH9E7uDiN4hVBdDVApZXVcr2BitkjtTzuuv3HXZq gNcdgVi1DvRqgRmAFI0zg==
Cc: Vinny A <jsontest@yahoo.com>, Eliot Lear <lear@cisco.com>, Douglas Crockford <douglas@crockford.com>, "json@ietf.org" <json@ietf.org>
Subject: Re: [Json] The names within an object SHOULD be unique.
X-BeenThere: json@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
Reply-To: stefan@drees.name
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: Thu, 06 Jun 2013 05:21:26 -0000

On 2013-06-06 01:40, Joe Hildebrand wrote:
> On 6/5/13 5:26 PM, "Douglas Crockford" <douglas@crockford.com> wrote:
>
>> It think it should be added to the draft. If duplicate names are
>> encountered, the parse MAY fail (because some implementations correctly
>> do that), or it MAY succeed by accepting the last duplicated key:value
>> pair.
>
> +1
>

+1 also from me.

> do we have a preference for new software?
>

(somehow side stepping the "overridden keys as comment usage" fork)

all know that the sequence of keys should not matter when talking JSON, 
but then if you know who you are talking to ... I guess we have 
streaming "interpretations" in the wild, where the producer and consumer 
relation is based on the (out-of-band) assumption, that regardless of 
JSON type the interchange medium behaves like a queue (and not like a 
stack or a shuffle) and also that the ordering of keys at best is 
optimally (top level) application defined, or at least is dependably 
ordered.

So I think gently pushing new implementations to not duplicate names as 
keys in an object would also help these JSON "extenders" to base their 
"private" orderings upon (As these are formulated in terms of names).

Thus I propose append a

"""Implementations are strongly urged to not duplicate names as keys in 
an object."""

(or the like) after the above proposed statement with the two MAYs.

Stefan.