Re: [Json] BOMs

Allen Wirfs-Brock <allen@wirfs-brock.com> Thu, 21 November 2013 05:53 UTC

Return-Path: <allen@wirfs-brock.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 AAF491AE03C; Wed, 20 Nov 2013 21:53:45 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.999
X-Spam-Level:
X-Spam-Status: No, score=-0.999 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, J_CHICKENPOX_45=0.6, MIME_8BIT_HEADER=0.3, RCVD_IN_DNSWL_NONE=-0.0001] 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 NS7-7en84Czm; Wed, 20 Nov 2013 21:53:43 -0800 (PST)
Received: from mho-02-ewr.mailhop.org (mho-02-ewr.mailhop.org [204.13.248.72]) by ietfa.amsl.com (Postfix) with ESMTP id 7E0CE1ADFAD; Wed, 20 Nov 2013 21:53:43 -0800 (PST)
Received: from [66.201.52.99] (helo=[10.71.1.199]) by mho-02-ewr.mailhop.org with esmtpsa (TLSv1:AES128-SHA:128) (Exim 4.72) (envelope-from <allen@wirfs-brock.com>) id 1VjNCj-0004Wf-IT; Thu, 21 Nov 2013 05:53:30 +0000
X-Mail-Handler: Dyn Standard SMTP by Dyn
X-Originating-IP: 66.201.52.99
X-Report-Abuse-To: abuse@dyndns.com (see http://www.dyndns.com/services/sendlabs/outbound_abuse.html for abuse reporting information)
X-MHO-User: U2FsdGVkX1/Y2xxLttZPWlg0ySlnHC1F/FQ4Nf5RkB0=
Mime-Version: 1.0 (Apple Message framework v1085)
Content-Type: multipart/alternative; boundary="Apple-Mail-37-831593429"
From: Allen Wirfs-Brock <allen@wirfs-brock.com>
In-Reply-To: <528C5445.3050600@it.aoyama.ac.jp>
Date: Wed, 20 Nov 2013 21:53:22 -0800
Message-Id: <A20405C4-F7AA-4141-AE19-222708A096F7@wirfs-brock.com>
References: <AA45B3C6-1DC5-4B1E-8045-C9FE76022584@vpnc.org> <CEA92854.2CC53%jhildebr@cisco.com> <20131113224737.GI31823@mercury.ccil.org> <f5bob5n71y7.fsf@troutbeck.inf.ed.ac.uk> <5284B095.4070004@it.aoyama.ac.jp> <C37B2FE59C164DBCA982AC81A56A09AA@codalogic> <f5bk3g6ufqy.fsf@troutbeck.inf.ed.ac.uk> <5289F974.9020709@it.aoyama.ac.jp> <020401cee50f$a2cdf5c0$4001a8c0@gateway.2wire.net> <528B46EA.4040503@it.aoyama.ac.jp> <43255615-2FC9-4726-99FD-1B13D6B1F033@wirfs-brock.com> <f5br4ackyqm.fsf@troutbeck.inf.ed.ac.uk> <528C5445.3050600@it.aoyama.ac.jp>
To: "Martin J. Dürst" <duerst@it.aoyama.ac.jp>
X-Mailer: Apple Mail (2.1085)
X-Mailman-Approved-At: Thu, 21 Nov 2013 03:46:38 -0800
Cc: John Cowan <cowan@mercury.ccil.org>, "Henry S. Thompson" <ht@inf.ed.ac.uk>, Pete Cordell <petejson@codalogic.com>, JSON WG <json@ietf.org>, www-tag@w3.org, Anne van Kesteren <annevk@annevk.nl>, es-discuss <es-discuss@mozilla.org>, "t.p." <daedulus@btconnect.com>, IETF Discussion <ietf@ietf.org>
Subject: Re: [Json] BOMs
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: Thu, 21 Nov 2013 05:53:45 -0000

On Nov 19, 2013, at 10:18 PM, Martin J. Dürst wrote:

> Hello Henry, others,
> 
> On 2013/11/20 3:55, Henry S. Thompson wrote:
>> Allen Wirfs-Brock writes:
>> 
>>> There can be no doubt that the most widely deployed JSON parsers are
>>> those that are built intp the browser javascript implementations.
>>> The ECMAScript 5 specification for JSON.parse that they implement
>>> says BOM is an illegal character.  But what do the browser actually
>>> implement?  This:
>> 
>> No, try e.g. jsonviewer.stack.hu [1] (works in Chrome, Safari, Opera,
>> not in IE or Firefox)
> 
> In Firefox, I got some garbled characters, in particular some question marks for each of the two bytes of the BOM and one question mark for the e-acute. Because of the type of the errors, I strongly suspect it is related to what we are trying to investigate, and so I don't think this can be taken as evidence one way or another.
> 
> or feed [2] to www.jsoneditoronline.org (Use
>> Open/Url) (works in Chrome, IE, Firefox, ran out of time to test more).
> 
> The fact that some libraries or Web sites accept a BOM for JSON isn't a proof that all (well, let's say the majority) accept a BOM.

Just to be clear about this.  My tests directly tested JavaScript built-in JSON parsers WRT to BOM support in three major browsers.  The tests directly invoked the built-in JSON.parse functions and directly passed to them a source strings that was explicitly constructed to contain a BOM code point .  This was done to ensure that the all transport layers  (and any transcodings they might perform) were bypassed and that we were actually testing the real built-in JSON parse functions.

Neither of the sites referenced about perform a comparable test.  They take user inputed text when is then pass through whose knows what layers of browser and application preprocessing and then they present something derived from that original user input to a JSON parser.  In both bases the actual parser does not appear to be the the built-in JavaScript JSON.parse function that I was testing.

json.view.stack.hu uses Ext.util.JSON.decode whose document describe it as "Modified version of Douglas Crockford"s json.js".   In other words not the built-in JSON.parse function

www.jsoneditoronlineorg uses a library called JSONLint in preference to the built-in JSON.parse function.  It does not conform to the ECMAScript 5 JSON.parse specification.

So testing using either of these sites say nothing relevant to about my observation concern BOM handling by the most widely deployed JSON parsers (the ones that are built into browser JavaScript implementations) 

Allen