Re: [apps-discuss] Last Call: <draft-ietf-appsawg-json-pointer-07.txt> (JSON Pointer) to Proposed Standard

James M Snell <jasnell@gmail.com> Sun, 16 December 2012 05:23 UTC

Return-Path: <jasnell@gmail.com>
X-Original-To: ietf@ietfa.amsl.com
Delivered-To: ietf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 3ADCD21F846D; Sat, 15 Dec 2012 21:23:19 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.69
X-Spam-Level:
X-Spam-Status: No, score=-3.69 tagged_above=-999 required=5 tests=[AWL=-0.092, BAYES_00=-2.599, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-1]
Received: from mail.ietf.org ([64.170.98.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id HZW2sM4kza-o; Sat, 15 Dec 2012 21:23:18 -0800 (PST)
Received: from mail-ia0-f172.google.com (mail-ia0-f172.google.com [209.85.210.172]) by ietfa.amsl.com (Postfix) with ESMTP id 10FA221F8434; Sat, 15 Dec 2012 21:23:18 -0800 (PST)
Received: by mail-ia0-f172.google.com with SMTP id z13so4454604iaz.31 for <multiple recipients>; Sat, 15 Dec 2012 21:23:17 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-type; bh=QPPDjy2CZR1Uur+AmrisQ0fpquvcD29fH82JYzAdvbo=; b=IzhaRCeXnRffXbiBYJbeZOnxQsrZGQpRyVVAepMoL9O/GzF9Oo2fucmAdHf+ie6xmY 2n6tWCSV0hCHNyi3zZbZx0++odREoCV51wO+EL7iEUac6FEzFKVJe0jZx7DPuji1Whaj RUP/7qKPCNWLC3tnqyAuPvbC8n8k6zS+ojVsvgClJiUFrocylzgy/jix6UXh6GK01+CP NmsvaaOv9L+/YEwPwJrs4PT2S/kbi0tLv7wVEiknUkU7P+9LaK9bnW9cRKh1Wz7uFo3n AtT/BlOJcMbbZa+NYC3EPiTKRSe7XB/f5G7XUSXcnEaxiD+Wr4dSeCj1pGLxS3hb+0+z A0lQ==
Received: by 10.50.0.193 with SMTP id 1mr6069724igg.0.1355635397593; Sat, 15 Dec 2012 21:23:17 -0800 (PST)
MIME-Version: 1.0
Received: by 10.64.7.19 with HTTP; Sat, 15 Dec 2012 21:22:57 -0800 (PST)
In-Reply-To: <CAChr6SxZRc3B_HCbw76kLe2dsRSr43r-gLpfMVnCUfJTrZdTLA@mail.gmail.com>
References: <20121211150057.28223.93310.idtracker@ietfa.amsl.com> <50cb04b9.86df440a.72fe.1e20SMTPIN_ADDED_BROKEN@mx.google.com> <CABP7RbeNsZ_rBWRjou=VG+hBhUKaOz+y1a0sSChwWiHte9znnQ@mail.gmail.com> <50cb5f3c.694c420a.38fb.39afSMTPIN_ADDED_BROKEN@mx.google.com> <CAChr6SxZRc3B_HCbw76kLe2dsRSr43r-gLpfMVnCUfJTrZdTLA@mail.gmail.com>
From: James M Snell <jasnell@gmail.com>
Date: Sat, 15 Dec 2012 21:22:57 -0800
Message-ID: <CABP7RbfA33huBFadMeXTTEt=MkjW8-d4DFH7+GLXGurnm9sSRw@mail.gmail.com>
Subject: Re: [apps-discuss] Last Call: <draft-ietf-appsawg-json-pointer-07.txt> (JSON Pointer) to Proposed Standard
To: Robert Sayre <sayrer@gmail.com>
Content-Type: multipart/alternative; boundary="e89a8f502f8e51897304d0f17665"
X-Mailman-Approved-At: Sun, 16 Dec 2012 08:01:45 -0800
Cc: Markus Lanthaler <markus.lanthaler@gmx.net>, IETF Apps Discuss <apps-discuss@ietf.org>, IETF Discussion <ietf@ietf.org>
X-BeenThere: ietf@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: IETF-Discussion <ietf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/ietf>, <mailto:ietf-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/ietf>
List-Post: <mailto:ietf@ietf.org>
List-Help: <mailto:ietf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/ietf>, <mailto:ietf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sun, 16 Dec 2012 05:23:19 -0000

On Sat, Dec 15, 2012 at 8:36 PM, Robert Sayre <sayrer@gmail.com> wrote:

> On Fri, Dec 14, 2012 at 9:17 AM, Markus Lanthaler
> <markus.lanthaler@gmx.net> wrote:
> >
> > Hmm.. I think that’s quite problematic. Especially considering how JSON
> Pointer is used in JSON Patch.
>
> I agree--I provided the same feedback privately. It seems
> straightforwardly unsound.
>
>
In practice it doesn't seem to be much of an issue.

Specifically, if I GET an existing document and get an etag with the JSON,
then make some changes and send a PATCH with If-Match, the fact that any
given pointer could point to an array or object member doesn't really
matter much.

For example:

  >  GET /the/doc HTTP/1.1

  <  HTTP/1.1 200 OK
     ETag: "my-document-tag"
     Content-Type: application/json

     {"1":"foo"}

  >  PATCH /the/doc HTTP/1.1
     If-Match: "my-document-etag"
     Content-Type: application/json-patch

     [{"op":"add","path":"/2","value":"bar"}]

Generally speaking, someone should not be using PATCH to perform a partial
modification if they don't already have some knowledge in advance what they
are modifying. The only time the apparent ambiguity becomes an issue is
when a client is blindly sending a patch to an unknown endpoint... in which
case, you get whatever you end up with.

- James



> - Rob
>
>
> >
> > --
> >
> > Markus Lanthaler
> >
> > @markuslanthaler
> >
> >
> >
> >
> >
> >
> >
> > From: James M Snell [mailto:jasnell@gmail.com]
> > Sent: Friday, December 14, 2012 5:41 PM
> > To: Markus Lanthaler
> > Cc: IETF Discussion; IETF Apps Discuss
> > Subject: Re: [apps-discuss] Last Call:
> <draft-ietf-appsawg-json-pointer-07.txt> (JSON Pointer) to Proposed Standard
> >
> >
> >
> > JSON Pointer does not distinguish between objects and arrays. That is
> not determined until the pointer is applied to an actual object instance...
> the pointer "/1" is valid against {"1":"a"} or ["a","b"]
> >
> >
> >
> > On Fri, Dec 14, 2012 at 2:51 AM, Markus Lanthaler <
> markus.lanthaler@gmx.net> wrote:
> >
> > I've asked that before but didn't get an answer. So let me ask again
> (even
> > though I'm quite sure it has already been asked by somebody else).
> >
> > How does JSON Pointer distinguish between objects and arrays? E.g.
> consider
> > the following JSON document:
> >
> > {
> >   "foo": "bar",
> >   "1": "baz"
> > }
> >
> > As I read the draft, the JSON Pointer "/1" would evaluate to "baz" even
> > though that's probably not what the author intended. Is there a way to
> avoid
> > that?
> >
> >
> > Thanks,
> > Markus
> >
> >
> >
> > --
> > Markus Lanthaler
> > @markuslanthaler
> >
> >
> >
> >
> >
> > > -----Original Message-----
> > > From: apps-discuss-bounces@ietf.org [mailto:apps-discuss-
> > > bounces@ietf.org] On Behalf Of The IESG
> > > Sent: Tuesday, December 11, 2012 4:01 PM
> > > To: IETF-Announce
> > > Cc: apps-discuss@ietf.org
> > > Subject: [apps-discuss] Last Call: <draft-ietf-appsawg-json-pointer-
> > > 07.txt> (JSON Pointer) to Proposed Standard
> > >
> > >
> > > The IESG has received a request from the Applications Area Working
> > > Group
> > > WG (appsawg) to consider the following document:
> > > - 'JSON Pointer'
> > >   <draft-ietf-appsawg-json-pointer-07.txt> as Proposed Standard
> > >
> > > The IESG plans to make a decision in the next few weeks, and solicits
> > > final comments on this action. Please send substantive comments to the
> > > ietf@ietf.org mailing lists by 2012-12-25. Exceptionally, comments may
> > > be
> > > sent to iesg@ietf.org instead. In either case, please retain the
> > > beginning of the Subject line to allow automated sorting.
> > >
> > > Abstract
> > >
> > >
> > >    JSON Pointer defines a string syntax for identifying a specific
> > > value
> > >    within a JSON document.
> > >
> > >
> > >
> > >
> > > The file can be obtained via
> > > http://datatracker.ietf.org/doc/draft-ietf-appsawg-json-pointer/
> > >
> > > IESG discussion can be tracked via
> > >
> http://datatracker.ietf.org/doc/draft-ietf-appsawg-json-pointer/ballot/
> > >
> > >
> > > No IPR declarations have been submitted directly on this I-D.
> > >
> > >
> > > _______________________________________________
> > > apps-discuss mailing list
> > > apps-discuss@ietf.org
> > > https://www.ietf.org/mailman/listinfo/apps-discuss
> >
> > _______________________________________________
> > apps-discuss mailing list
> > apps-discuss@ietf.org
> > https://www.ietf.org/mailman/listinfo/apps-discuss
> >
> >
> >
> >
> > _______________________________________________
> > apps-discuss mailing list
> > apps-discuss@ietf.org
> > https://www.ietf.org/mailman/listinfo/apps-discuss
> >
>