Re: [Json] I-D Action: draft-ietf-jsonbis-rfc7159bis-04.txt

Pete Cordell <> Mon, 24 July 2017 15:12 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 9A134131E06 for <>; Mon, 24 Jul 2017 08:12:37 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -0.92
X-Spam-Status: No, score=-0.92 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RDNS_DYNAMIC=0.982, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001] autolearn=no autolearn_force=no
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id kEq7YWbrHe35 for <>; Mon, 24 Jul 2017 08:12:35 -0700 (PDT)
Received: from ( []) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 2AC9C131DAA for <>; Mon, 24 Jul 2017 08:12:34 -0700 (PDT)
Received: (qmail 9428 invoked from network); 24 Jul 2017 16:04:15 +0100
Received: from (HELO ? ( by with ESMTPSA (DHE-RSA-AES128-SHA encrypted, authenticated); 24 Jul 2017 16:04:15 +0100
To: Anders Rundgren <>
Cc: Julian Reschke <>,
References: <> <> <> <> <> <> <> <> <> <>
From: Pete Cordell <>
Message-ID: <>
Date: Mon, 24 Jul 2017 16:12:29 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.2.1
MIME-Version: 1.0
In-Reply-To: <>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-GB
Content-Transfer-Encoding: 7bit
Archived-At: <>
Subject: Re: [Json] I-D Action: draft-ietf-jsonbis-rfc7159bis-04.txt
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: "JavaScript Object Notation \(JSON\) WG mailing list" <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Mon, 24 Jul 2017 15:12:38 -0000

On 22/07/2017 08:51, Anders Rundgren wrote:
> I don't have any text to offer but I believe that UFT-8 encoding is the
> only recommendable way for transferring JSON data from one system to
> another which includes lots of other use case than HTTP.  For example:
> Writing JSON to databases, usage in WebSocket messages, or simply putting
> JSON in file.
> Yes, it seems to me that "Serialized format"/"External representation" is
> really the common denominator rather than networks and/or protocols.


On 22/07/2017 10:18, Anders Rundgren wrote:
 > I would consider "external form" as an alternative to limiting the
 > specification
 > to special cases like networks and or protocols.


On 22/07/2017 08:53, Julian Reschke wrote:
 > Whatever we say, it should make clear that it includes all derived
 > media types (*/*+json) as well.

Thanks Anders and Julian.

Makes me wonder whether the best approach is to start with what is 
currently the second paragraph of 8.1 as a 'softener', and then hit the 
reader with UTF-8 being the only real way to go for interoperability of 
open systems.  So maybe 8.1 becomes something like:

8.1.  Character Encoding

    Previous specifications of JSON have not required the use of UTF-8
    when transmitting JSON text.  However, the vast majority of JSON-
    based software implementations have chosen to use the UTF-8 encoding,
    to the extent that it is the only encoding that achieves

    Therefore, JSON text exchanged between systems that don't form a
    closed ecosystem MUST be encoded using UTF-8.

    Implementations MUST NOT add a byte order mark (U+FEFF) to the
    beginning of a networked-transmitted JSON text.  In the interests of
    interoperability, implementations that parse JSON texts MAY ignore
    the presence of a byte order mark rather than treating it as an