[dispatch] JSONPath or JMESPath?

Darrel Miller <Darrel.Miller@microsoft.com> Mon, 03 August 2020 13:27 UTC

Return-Path: <Darrel.Miller@microsoft.com>
X-Original-To: dispatch@ietfa.amsl.com
Delivered-To: dispatch@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 765533A09AD for <dispatch@ietfa.amsl.com>; Mon, 3 Aug 2020 06:27:23 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.2
X-Spam-Level:
X-Spam-Status: No, score=-0.2 tagged_above=-999 required=5 tests=[DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=microsoft.com
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 C0hrI3DrhgSi for <dispatch@ietfa.amsl.com>; Mon, 3 Aug 2020 06:27:22 -0700 (PDT)
Received: from NAM06-DM3-obe.outbound.protection.outlook.com (mail-eopbgr640125.outbound.protection.outlook.com [40.107.64.125]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 084B43A09A9 for <dispatch@ietf.org>; Mon, 3 Aug 2020 06:27:21 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=hE/eFIacdYQTOrJFsvXk/7EkzmVja2pr0IXpF/b0C44GMaG6Q2EPRYvb4TaaQcNimc1U5XbqsbB+DQuZ3d0aaF7dfeKYcQmxBZd+x8eowoCKhOmyQbgWJWfGXh8zHA6woeYxN2TVP6jtM9Ou9IytImuNscSvpBlKEMafP9yTBCMqS9VJpt19fYutDVO113RIcG8nHepHsq/pHM9+6wDTlogHcgb943n1tG2Ix7ghLEVmsHY7PCY5wdqMw/XjGqVcx2ezfKaNNYChOu0czaX2+6QuRVeqVl483fTcdZJO0GqRj02Y4vbIoHDfFm9S92EQczUrOMRO6UEPrXfxk2wl5Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=rtXjJgYHzwYXNyNpOBbzsx5zRp62OAeGJcPghhzMnok=; b=hleVk8DrRuEBICJKndJBdoR8IB2iLZAiR+0j8u435Ktx4hAO0fAfSYSjH6uXzLvnUnr4f+rqeUV8oysueUgp4c1rp3BHaxyIbKFfYRUjyFpfPhAFxpfwxpzlPTHgtGEEMwHT4I3EX2J4B0kAJrfrChOGF+wxLj4eq5mefalAZ2hOI9q5sSlfEUjtnph9Bn4dNU0GxBOxHUhu78FAk+CStVL0fgd/+ukn+mOdSod4o5tYDsozhR8PJoYV3tDLLF+lgCFsXXXI/XRjn9aDCaKc5lCGyQMnNR4etepSe4uOqcKY4hzADy5LItTxKjiO0kusFCa8172F70ouG/9TKLuPrA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=microsoft.com; dmarc=pass action=none header.from=microsoft.com; dkim=pass header.d=microsoft.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=rtXjJgYHzwYXNyNpOBbzsx5zRp62OAeGJcPghhzMnok=; b=O5++1YfefNW1J+FeLAGBO3kOkuXykWshOdJi10BspI0aHPGtfBACZr+RtXgGCk6OsnCygoCEwlyZIekbJvajUwBBeBrjD/manFkRYfSDpRitF5sAfcXbDo/VPp4qlScf42/h/Mu4XiaELOVrUdMeXnCjmFzionQwBYVFxGI6RZ4=
Received: from CH2PR00MB0844.namprd00.prod.outlook.com (2603:10b6:610:6f::23) by CH2PR00MB0762.namprd00.prod.outlook.com (2603:10b6:610:61::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3296.0; Mon, 3 Aug 2020 13:27:12 +0000
Received: from CH2PR00MB0844.namprd00.prod.outlook.com ([fe80::d4ca:3e4:4c23:3aea]) by CH2PR00MB0844.namprd00.prod.outlook.com ([fe80::d4ca:3e4:4c23:3aea%7]) with mapi id 15.20.3296.000; Mon, 3 Aug 2020 13:27:12 +0000
From: Darrel Miller <Darrel.Miller@microsoft.com>
To: "dispatch@ietf.org" <dispatch@ietf.org>
Thread-Topic: JSONPath or JMESPath?
Thread-Index: AQHWaZZ7NPtRChyZ5EOmdm2UGgqlJQ==
Date: Mon, 03 Aug 2020 13:27:12 +0000
Message-ID: <DM6PR00MB08482BB8234F35A07BCC1F93F04D0@DM6PR00MB0848.namprd00.prod.outlook.com>
Accept-Language: en-US
Content-Language: en-CA
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
msip_labels: MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Enabled=True; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_SiteId=72f988bf-86f1-41af-91ab-2d7cd011db47; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_SetDate=2020-08-03T13:03:29.0202224Z; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_ContentBits=0; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Method=Privileged
authentication-results: ietf.org; dkim=none (message not signed) header.d=none;ietf.org; dmarc=none action=none header.from=microsoft.com;
x-originating-ip: [184.145.227.145]
x-ms-publictraffictype: Email
x-ms-office365-filtering-ht: Tenant
x-ms-office365-filtering-correlation-id: 80f24e50-19f9-4405-9273-08d837b0ee25
x-ms-traffictypediagnostic: CH2PR00MB0762:
x-microsoft-antispam-prvs: <CH2PR00MB0762F9EC93F62291275C1901F04D1@CH2PR00MB0762.namprd00.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:9508;
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: +BlMUM8I/v2v2SFnW6nvyMmwfsRm7vrUC6xHLp++c34E60ld7L+CbwPiNMEjRpMVvX38hKFO0qo4VjoGVjdfvL9AkIgWUyUyPhNBX+uA7mnHeDQtPpCJZEn68lRybHMQM6lvQWvGYGY1ZcobwtNAzMhUhCxn5o5hJMVZWfl2JxtlyJbMeKakowhmS+KlbdOAYcpY3/7IXypZ6OqyRPoBgs88+2dEp47HQNBgcP2Fg40H4H15Ym07KyoqdugLVNhmA6g2qrWRLXQWCTPZ+iHo00eGnsAI2Q/WIQ4V6WSDWv0NcqhhCUexx7BLx/mxZJQAsDofurgvmJc/r3uoed3E/iRvD24/hcRmR68XlEuYhaYmYblLlnbJk2MHaeNu2IYXjvaiNCdKZtnrz8mMQBHM+A==
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:CH2PR00MB0844.namprd00.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(346002)(376002)(366004)(396003)(39860400002)(136003)(6486002)(166002)(7116003)(71200400001)(8676002)(26005)(3480700007)(186003)(52536014)(478600001)(8990500004)(5660300002)(86362001)(6916009)(9686003)(6512007)(82960400001)(82950400001)(8936002)(966005)(10290500003)(33656002)(6506007)(76116006)(2906002)(316002)(66446008)(64756008)(66556008)(66476007)(21615005)(66946007)(83380400001); DIR:OUT; SFP:1102;
x-ms-exchange-antispam-messagedata: KOdVLgpwvtuQV6Xo2fLMQQ9HzqeizmVa/oLgobDSPaiLL1nT0L17HGbPwLAfSPvHOJvSKY3oatdlMwknQY4b3s2J6kLzGLnzrywaNzIlOTOecQEXEiF0H4VXZcvhJiQ+HSUAEXnB6c3TSm4cwAdgv5L5HVeDVkJkOufMKR0XsqhAXx0qVkhifp1FfB/kS0hq9gWLS1fgSzIxpotQ3ZyrldL2ieq4pB6QxMKa2Pmxzgrxcat7e9KEs4wnCh9FM9mA/WMffA/E0fx/sVZn+NuLAD28MYcgHOmgAULoCkzPsj1jyDgmHSZgTAcXsaaQixZCtWrUSkEavLC5egJThsT05pz/qDC6543XV7Q6opOqSFOWjvLPoQGGsz7B/Th/haH48s3s0yar7MkRPpCfSiXMMsPWEB3EmATY9uiXQHa+HHT2oO/Ca5uMM3H/Aqn0iWhqEUCetSfwx8anRav7qqUeeXp8UTahxIM7PXbZqVjrLPLODEG7X+K4iTSYar5UhMN1IC1Kyjl9qSnHmuKMf8lv/n7MAoAPg3nRCYoYaBPULp9EOlowqSwdAOpUeXN+zZPxy2cwxvwWS7creECFMqt8XKbayqZdNMhMDT0RnNtW7XqxoyOa4lftX91nDudhVGSPubll5QkUpmChGFEkBCBRgg==
x-ms-exchange-transport-forked: True
Content-Type: multipart/alternative; boundary="_000_DM6PR00MB08482BB8234F35A07BCC1F93F04D0DM6PR00MB0848namp_"
MIME-Version: 1.0
X-OriginatorOrg: microsoft.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: CH2PR00MB0844.namprd00.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 80f24e50-19f9-4405-9273-08d837b0ee25
X-MS-Exchange-CrossTenant-originalarrivaltime: 03 Aug 2020 13:27:12.0364 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 72f988bf-86f1-41af-91ab-2d7cd011db47
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: 1hvcVAM1mWMl82v7uuruGJx5mlmMnztmrORVlixjKDfxARwDKgLNsTUXqJWYk6DEx7C7sPGGmiYLepav1hR3Dg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH2PR00MB0762
Archived-At: <https://mailarchive.ietf.org/arch/msg/dispatch/w-hrmtDR7te4lXhFtjyYBiNTb0U>
Subject: [dispatch] JSONPath or JMESPath?
X-BeenThere: dispatch@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: DISPATCH Working Group Mail List <dispatch.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dispatch>, <mailto:dispatch-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/dispatch/>
List-Post: <mailto:dispatch@ietf.org>
List-Help: <mailto:dispatch-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dispatch>, <mailto:dispatch-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 03 Aug 2020 13:27:23 -0000

After reviewing the discussion from the Dispatch meeting related to the JSONPath standardization effort I noticed there was no mention of JMESPath (pronounced JamesPath)  (https://www.jmespath.org ).

In some recent specification work I was involved with, we were faced with the need for this type of query capability.  Our investigation led us to move forward with JMESPath instead of JSONPath.  The reasons included:

  *   It has a complete ABNF description https://jmespath.org/specification.html
  *   It has a compliance suite https://jmespath.org/compliance.html
  *   It has a reasonable set of language support https://jmespath.org/libraries.html
  *   JMESPath doesn’t have a dependency on an underlying scripting language


JMESPath came from the Python world and has been picked up by both AWS and Azure as a query capability in their command line tools.  This drives a significant amount of exposure to developers.
https://docs.aws.amazon.com/cli/latest/userguide/cli-usage-output.html#cli-usage-output-filter
https://docs.microsoft.com/en-us/cli/azure/query-azure-cli?view=azure-cli-latest

While I do believe there is value in standardizing a tech that has wide usage like JSONPath, due to the current challenges with JSONPath implementation variations, would it more valuable to try and coalesce the industry around an option that already has a formally defined grammar and compliance tests?

Darrel