- From: Carsten Bormann <cabo@tzi.org>
- Date: Tue, 12 Jul 2016 00:35:54 +0200
- To: Julian Reschke <julian.reschke@gmx.de>
- CC: Willy Tarreau <w@1wt.eu>, Poul-Henning Kamp <phk@phk.freebsd.dk>, Yanick Rochon <yanick.rochon@gmail.com>, Phil Hunt <phil.hunt@oracle.com>, HTTP Working Group <ietf-http-wg@w3.org>
> Inside a JSON *object*, the wire format allows multiple instances of the
> same key (member name), and the recipient behavior for these cases is
> undefined.
That is a rather liberal use of "allows". It definitely not "allowed",
but it is sure *possible* to send malformed JSON.
4. Objects
An object structure is represented as a pair of curly brackets
surrounding zero or more name/value pairs (or members). A name is a
string. A single colon comes after each name, separating the name
from the value. A single comma separates a value from a following
name. The names within an object SHOULD be unique.
object = begin-object [ member *( value-separator member ) ]
end-object
member = string name-separator value
An object whose names are all unique is interoperable in the sense
that all software implementations receiving that object will agree on
the name-value mappings. When the names within an object are not
unique, the behavior of software that receives such an object is
unpredictable. Many implementations report the last name/value pair
only. Other implementations report an error or fail to parse the
object, and some implementations report all of the name/value pairs,
including duplicates.
Grüße, Carsten
Received on Monday, 11 July 2016 22:36:27 UTC