Re: [Json] Allow any JSON value at the top level

Jorge <jorge@jorgechamorro.com> Sat, 08 June 2013 13:12 UTC

Return-Path: <jorge@jorgechamorro.com>
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 D29B821F86D5 for <json@ietfa.amsl.com>; Sat, 8 Jun 2013 06:12:07 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.299
X-Spam-Level:
X-Spam-Status: No, score=-2.299 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, MIME_8BIT_HEADER=0.3]
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 mWEC-lRZWVe8 for <json@ietfa.amsl.com>; Sat, 8 Jun 2013 06:12:07 -0700 (PDT)
Received: from mail-we0-x22a.google.com (mail-we0-x22a.google.com [IPv6:2a00:1450:400c:c03::22a]) by ietfa.amsl.com (Postfix) with ESMTP id 0B43D21F85C9 for <json@ietf.org>; Sat, 8 Jun 2013 06:12:06 -0700 (PDT)
Received: by mail-we0-f170.google.com with SMTP id w57so3801664wes.1 for <json@ietf.org>; Sat, 08 Jun 2013 06:12:05 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=content-type:mime-version:subject:from:in-reply-to:date :content-transfer-encoding:message-id:references:to:x-mailer :x-gm-message-state; bh=sdkHN2adno0M25DA0JOk+sNcLUB4jY4J29d9eXc0cKA=; b=GJwItgdboMAtzw/IJBhCEV39oy4TYCHQw69AbUE+CJQSzR592fwazEVGhhS6bJ9leZ //KVSnpKY+WDclxKG3llHoD8/AmRXWbwiO7xlTSnc0Yt1oSkIogCtcNlI27GuIEXWTgT T5bq5sZoMfzmGjhkyeB399zQMMs3/Kupi7G9p6sd7OGYwtpvWcLT9QXOtR0bT76w9eiO W6H7+O0JqlUjYwIAMtDRj5t3zv5PGT/vHJK2GxUeRIN4naTfjov9SkWFqjqSP/bHBuWB MGyoRNzzpRxfGzonL4kzHrmpxaPjlJrwpVY9Jr9zmHWSc1jWH76igZi/ZIyaMgFp43dJ vzFQ==
X-Received: by 10.194.173.232 with SMTP id bn8mr1594594wjc.26.1370697125842; Sat, 08 Jun 2013 06:12:05 -0700 (PDT)
Received: from [192.168.10.50] (142.Red-83-61-214.dynamicIP.rima-tde.net. [83.61.214.142]) by mx.google.com with ESMTPSA id eq15sm2254153wic.4.2013.06.08.06.12.04 for <multiple recipients> (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Sat, 08 Jun 2013 06:12:05 -0700 (PDT)
Content-Type: text/plain; charset="iso-8859-1"
Mime-Version: 1.0 (Apple Message framework v1085)
From: Jorge <jorge@jorgechamorro.com>
In-Reply-To: <51B2A10F.5010006@it.aoyama.ac.jp>
Date: Sat, 08 Jun 2013 15:12:03 +0200
Content-Transfer-Encoding: quoted-printable
Message-Id: <D325BB5D-04AF-4AB9-8F88-39E7B0860660@jorgechamorro.com>
References: <255B9BB34FB7D647A506DC292726F6E1151B21F9A9@WSMSG3153V.srv.dir.telstra.com> <A2D3D8F3-1EB3-4CD6-A331-4EDCDB7F9798@tzi.org> <A00C1298-57BF-49DE-8486-D6EAB828F833@yahoo.com> <E33E755D-8F75-4E35-B3C2-33501AE0794F@jorgechamorro.com> <51B2A10F.5010006@it.aoyama.ac.jp>
To: "\"Martin J. Dürst\"" <duerst@it.aoyama.ac.jp>, json@ietf.org
X-Mailer: Apple Mail (2.1085)
X-Gm-Message-State: ALoCoQmJUkE1a4gEZUn+A9hYRzFQtLpkmtZ+zRFL2EX8Y8Jfr1SU35jNrtelIIjS5X7lw2OZD2Ar
Subject: Re: [Json] Allow any JSON value at the top level
X-BeenThere: json@ietf.org
X-Mailman-Version: 2.1.12
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: Sat, 08 Jun 2013 13:12:08 -0000

On 08/06/2013, at 05:12, Martin J. Dürst wrote:
> 
> On 2013/06/08 5:02, Jorge wrote:
>> On 07/06/2013, at 15:38, Vinny A wrote:
>>> 
>>> Do commonly used parsers support top level JSON values?
>> 
>> Yes:
>> 
>> JSON.parse('"string"')
>> "string"
>> JSON.parse('27')
>> 27
>> JSON.parse('true')
>> true
>> JSON.parse('false')
>> false
>> JSON.parse('null')
>> null
>> 
> What programming language/library?

JavaScript's built-in parser (ES5).

I tried it with ruby's JSON gem but it won't swallow it:

>> JSON.parse("\"string\"")
JSON::ParserError: 757: unexpected token at '"string"'
	from /Library/Ruby/Gems/1.8/gems/json-1.8.0/lib/json/common.rb:155:in `parse'
	from /Library/Ruby/Gems/1.8/gems/json-1.8.0/lib/json/common.rb:155:in `parse'
	from (irb):14
>> JSON.parse("27")
JSON::ParserError: 757: unexpected token at '27'
	from /Library/Ruby/Gems/1.8/gems/json-1.8.0/lib/json/common.rb:155:in `parse'
	from /Library/Ruby/Gems/1.8/gems/json-1.8.0/lib/json/common.rb:155:in `parse'
	from (irb):15
>> JSON.parse("true")
JSON::ParserError: 757: unexpected token at 'true'
	from /Library/Ruby/Gems/1.8/gems/json-1.8.0/lib/json/common.rb:155:in `parse'
	from /Library/Ruby/Gems/1.8/gems/json-1.8.0/lib/json/common.rb:155:in `parse'
	from (irb):16
>> JSON.parse("false")
JSON::ParserError: 757: unexpected token at 'false'
	from /Library/Ruby/Gems/1.8/gems/json-1.8.0/lib/json/common.rb:155:in `parse'
	from /Library/Ruby/Gems/1.8/gems/json-1.8.0/lib/json/common.rb:155:in `parse'
	from (irb):17
>> JSON.parse("null")
JSON::ParserError: 757: unexpected token at 'null'
	from /Library/Ruby/Gems/1.8/gems/json-1.8.0/lib/json/common.rb:155:in `parse'
	from /Library/Ruby/Gems/1.8/gems/json-1.8.0/lib/json/common.rb:155:in `parse'
	from (irb):18
>> JSON.parse("[27]")
=> [27]

-- 
( Jorge )();