Re: [Json] JSON Schema Language
Phillip Hallam-Baker <ietf@hallambaker.com> Mon, 06 May 2019 14:10 UTC
Return-Path: <hallam@gmail.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 A0A63120052 for <json@ietfa.amsl.com>; Mon, 6 May 2019 07:10:11 -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=-1.9, FREEMAIL_FORGED_FROMDOMAIN=0.249, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001] autolearn=no autolearn_force=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 hzWdOjoTChQ3 for <json@ietfa.amsl.com>; Mon, 6 May 2019 07:10:09 -0700 (PDT)
Received: from mail-ot1-f67.google.com (mail-ot1-f67.google.com [209.85.210.67]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id A596F12011E for <json@ietf.org>; Mon, 6 May 2019 07:10:09 -0700 (PDT)
Received: by mail-ot1-f67.google.com with SMTP id o39so11541748ota.6 for <json@ietf.org>; Mon, 06 May 2019 07:10:09 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=xVakA1Ylwcle9uSUq+voNWQ8PajMCQoNek+wYPkNnyM=; b=bkdyQJnnIFPkf9jPff8U1pyI++nai0ZK+8mhQ+Er2Snefod6CQWsfvldOjXTj4HHVY xX4I8gveAB7Ll2i9jnepH8B1sA2xAzSG40LP0HTbrmOkq8ITIT48K7z1MHANOJKENK9Y WmDo9UkOYToQ8LidIJaIWcrjDkdBQC89MudCUkwPTHIrTnO5MYh4jVR3+839cjVtyg28 n6WEIbJaXeMdG94uty97Bo1PJ5+mA6sGM5tZ5fuOBSKOoc7CTwu1XZXbffgyYqG+vQs3 2bjVZY3MR6TmgZ7P+f+oNwCzpdRSV5nWZl3kFyykp3IF0fkl6TkRpAHMK2NL57bmacKA 6m8A==
X-Gm-Message-State: APjAAAV5j24VzUDvwVTghnCCqzFI8uEBEVLPFKvNIBlx9YOM9Qco1rWT dDhmYDHJMZcdDK70uRJBQ+zMxF0MVRU9orlnV0E=
X-Google-Smtp-Source: APXvYqzTu7aN+wVJ1UnLpXJxVWoOEkMi8nM0bGlGFulTyUJeTFTppxaKddRI3IM3WT3zIyBlSkpw5K9ARXFjzSsh0n0=
X-Received: by 2002:a9d:6d93:: with SMTP id x19mr6735898otp.157.1557151808769; Mon, 06 May 2019 07:10:08 -0700 (PDT)
MIME-Version: 1.0
References: <CAJK=1RjV1uv0eOdtFZ8cKn-FfCwCiGP5r2hOz1UamiM6YV4H1A@mail.gmail.com> <39682ec8-f993-a44c-d3e2-1638d2c1608f@gmail.com> <29CAE1CE-D6CB-4796-B2F2-2095BE921385@tzi.org> <AD5ABD9C-F5F2-477D-B862-529C890D5472@bzfx.net> <DA1767B8-22D6-4EA9-8112-4B36B79E9039@tzi.org> <D21B379B-23CC-48B3-BE10-D2777308E2E0@bzfx.net> <40f80ea0-d130-3f3b-39fa-2c84e802ed55@gmail.com> <35E2623E-753D-4918-8AF4-BF0BC5DE4868@bzfx.net> <6260354b-aca2-e001-7145-148b32658416@gmail.com> <9D90C1F1-6747-4373-93B0-8D51C5B25F1C@bzfx.net> <3a438654-b1ef-ecbd-0fb2-937d8f40f0c9@gmail.com>
In-Reply-To: <3a438654-b1ef-ecbd-0fb2-937d8f40f0c9@gmail.com>
From: Phillip Hallam-Baker <ietf@hallambaker.com>
Date: Mon, 06 May 2019 10:09:58 -0400
Message-ID: <CAMm+LwiRgHb=swBC0C9wfPZhrVv_1Ljeeb0UCPZZxHqLJS5dSA@mail.gmail.com>
To: Anders Rundgren <anders.rundgren.net@gmail.com>
Cc: Austin Wright <aaa@bzfx.net>, Ulysse Carion <ulysse@segment.com>, JSON WG <json@ietf.org>
Content-Type: multipart/alternative; boundary="0000000000006c530b058838a8b3"
Archived-At: <https://mailarchive.ietf.org/arch/msg/json/o_6oXrUzXDR9l8SFVJtVU_R0gEM>
Subject: Re: [Json] JSON Schema Language
X-BeenThere: json@ietf.org
X-Mailman-Version: 2.1.29
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: <https://mailarchive.ietf.org/arch/browse/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: Mon, 06 May 2019 14:10:12 -0000
Lets back up here a moment. JSON is actually more than one thing. It is: * A data model * A lexical token specification * A serialization For the Mesh I take the JSON data model and extend it to distinguish integers from floats and binary encoded blobs from strings via base64url encoding. I also extend the lexical token specification so that I do not have to base64 encode binary data blobs. Which is the chief barrier to use of JSON for crypto. I am writing my own serializer/deserializer and my own lexical token analyzer. But that part is really not well grounded in JSON tooling as it exists in the wild (yet). The aim of JSON-B/C is to be plug-compatible with JSON so that it is possible to take an existing encoding and just drop in a JSON-B handler. Looking at the JSON tools out there, I see that most of them simply take the input stream and turn it into a parse tree that supports search path type accessors. That is not the approach I like but it is what folk working in scripting languages usually want. >From an interop point of view, any application that relies on being able to round trip integers that exceed the IEEE float mantissa capacity is going to break. That is just a fact of life. Another fact is that I have never found a use for a float in any protocol specification. Serializations and encodings are important. But there is no point in making a fetish of finding the one true encoding. The Mesh uses JSON/JSON-B for all its native encodings. But the Mesh tools have handling for ASN.1, RFC821, RFC822, TLS and will soon have to add iCal/vCard because they are all needed in the wild. I think a JSON schema is a mistake at this point. We should look at writing a general schema language that is a good schema language and has the ability to specify ASN.1 or XML schemas or anything else that might need to be specified. The world is focusing on JSON for a reason but I think it is the JSON data model we are actually focusing on rather than the JSON serialization. And I don't think that insisting that nobody ever touch the original perfection of JSON encoding is helpful either. All that is doing is ensuring that instead of there being one JSON/2.0 there are dozens and more are being added all the time.
- [Json] JSON Schema Language Ulysse Carion
- Re: [Json] JSON Schema Language Anders Rundgren
- Re: [Json] JSON Schema Language Carsten Bormann
- Re: [Json] JSON Schema Language Austin Wright
- Re: [Json] JSON Schema Language Carsten Bormann
- Re: [Json] JSON Schema Language Anders Rundgren
- Re: [Json] JSON Schema Language Austin Wright
- Re: [Json] JSON Schema Language Anders Rundgren
- Re: [Json] JSON Schema Language Nico Williams
- Re: [Json] JSON Schema Language Anders Rundgren
- Re: [Json] JSON Schema Language Carsten Bormann
- Re: [Json] JSON Schema Language Anders Rundgren
- Re: [Json] JSON Schema Language Austin Wright
- Re: [Json] JSON Schema Language Carsten Bormann
- Re: [Json] JSON Schema Language Anders Rundgren
- Re: [Json] JSON Schema Language Nico Williams
- Re: [Json] JSON Schema Language Anders Rundgren
- Re: [Json] JSON Schema Language Nico Williams
- Re: [Json] JSON Schema Language John Cowan
- Re: [Json] JSON Schema Language Nico Williams
- Re: [Json] JSON Schema Language Anders Rundgren
- Re: [Json] JSON Schema Language Austin Wright
- Re: [Json] JSON Schema Language Carsten Bormann
- Re: [Json] JSON Schema Language Anders Rundgren
- Re: [Json] JSON Schema Language Carsten Bormann
- Re: [Json] JSON Schema Language Austin Wright
- Re: [Json] JSON Schema Language Carsten Bormann
- Re: [Json] JSON Schema Language Anders Rundgren
- Re: [Json] JSON Schema Language Phillip Hallam-Baker
- Re: [Json] JSON Schema Language Nico Williams
- Re: [Json] JSON Schema Language Nico Williams
- Re: [Json] JSON Schema Language Austin Wright
- Re: [Json] JSON Schema Language Nico Williams
- Re: [Json] JSON Schema Language Austin Wright
- Re: [Json] JSON Schema Language Nico Williams
- Re: [Json] JSON Schema Language Austin Wright
- Re: [Json] JSON Schema Language Nico Williams
- Re: [Json] JSON Schema Language Tim Bray
- Re: [Json] JSON Schema Language Anders Rundgren
- Re: [Json] JSON Schema Language Nico Williams
- Re: [Json] JSON Schema Language Peter Patel-Schneider
- Re: [Json] JSON Schema Language Pete Cordell
- Re: [Json] JSON Schema Language Carsten Bormann
- Re: [Json] JSON Schema Language Phillip Hallam-Baker
- Re: [Json] JSON Schema Language Austin Wright
- Re: [Json] JSON Schema Language Erik Wilde
- Re: [Json] JSON Schema Language Phillip Hallam-Baker
- Re: [Json] JSON Schema Language Phillip Hallam-Baker
- Re: [Json] JSON Schema Language Austin Wright
- Re: [Json] JSON Schema Language Nico Williams
- Re: [Json] JSON Schema Language Erik Wilde
- Re: [Json] JSON Schema Language Nico Williams
- Re: [Json] JSON Schema Language Ulysse Carion
- Re: [Json] JSON Schema Language John Cowan
- Re: [Json] JSON Schema Language Anders Rundgren
- Re: [Json] JSON Schema Language Carsten Bormann
- Re: [Json] JSON Schema Language Pete Cordell
- Re: [Json] JSON Schema Language Pete Cordell
- Re: [Json] JSON Schema Language Carsten Bormann
- Re: [Json] JSON Schema Language Nico Williams
- Re: [Json] JSON Schema Language Nico Williams
- Re: [Json] JSON Schema Language Nico Williams
- Re: [Json] JSON Schema Language Erik Wilde
- [Json] Adding integers to JSON (Re: JSON Schema L… Carsten Bormann
- Re: [Json] JSON Schema Language Anders Rundgren
- Re: [Json] Adding integers to JSON (Re: JSON Sche… Nico Williams
- Re: [Json] JSON Schema Language Daniel P
- Re: [Json] Adding integers to JSON (Re: JSON Sche… Nico Williams
- Re: [Json] Adding integers to JSON (Re: JSON Sche… Carsten Bormann
- Re: [Json] Adding integers to JSON (Re: JSON Sche… Austin Wright
- Re: [Json] Adding integers to JSON (Re: JSON Sche… Carsten Bormann
- Re: [Json] Adding integers to JSON (Re: JSON Sche… Phillip Hallam-Baker
- Re: [Json] Adding integers to JSON (Re: JSON Sche… Carsten Bormann
- Re: [Json] Adding integers to JSON (Re: JSON Sche… Phillip Hallam-Baker
- Re: [Json] Adding integers to JSON (Re: JSON Sche… John Cowan
- Re: [Json] JSON Schema Language Ulysse Carion
- Re: [Json] Adding integers to JSON (Re: JSON Sche… Austin Wright
- Re: [Json] JSON Schema Language Carsten Bormann
- Re: [Json] JSON Schema Language Rob Sayre
- Re: [Json] Adding integers to JSON (Re: JSON Sche… Manger, James
- Re: [Json] Adding integers to JSON (Re: JSON Sche… Anders Rundgren
- Re: [Json] JSON Schema Language Phillip Hallam-Baker
- Re: [Json] JSON Schema Language John Cowan
- Re: [Json] JSON Schema Language Tim Bray
- Re: [Json] JSON Schema Language Rob Sayre
- Re: [Json] JSON Schema Language Tim Bray
- Re: [Json] JSON Schema Language Rob Sayre
- Re: [Json] JSON Schema Language Tim Bray
- Re: [Json] JSON Schema Language Rob Sayre
- Re: [Json] JSON Schema Language Pete Cordell
- Re: [Json] JSON Schema Language Nico Williams
- [Json] A minimal examplotron-style JSON validatio… John Cowan
- Re: [Json] A minimal examplotron-style JSON valid… Nico Williams
- Re: [Json] JSON Schema Language Phillip Hallam-Baker
- Re: [Json] A minimal examplotron-style JSON valid… Pete Cordell
- Re: [Json] A minimal examplotron-style JSON valid… Carsten Bormann
- Re: [Json] A minimal examplotron-style JSON valid… Ulysse Carion
- Re: [Json] A minimal examplotron-style JSON valid… Carsten Bormann
- Re: [Json] A minimal examplotron-style JSON valid… John Cowan
- Re: [Json] A minimal examplotron-style JSON valid… John Cowan
- Re: [Json] A minimal examplotron-style JSON valid… Pete Cordell
- Re: [Json] A minimal examplotron-style JSON valid… Nico Williams
- Re: [Json] A minimal examplotron-style JSON valid… John Cowan
- Re: [Json] A minimal examplotron-style JSON valid… Nico Williams
- Re: [Json] A minimal examplotron-style JSON valid… John Cowan
- Re: [Json] A minimal examplotron-style JSON valid… Nico Williams