[Jsonpath] Re: RFC9839 and unicode chars to avoid

Carsten Bormann <cabo@tzi.org> Wed, 21 January 2026 20:56 UTC

Return-Path: <cabo@tzi.org>
X-Original-To: jsonpath@mail2.ietf.org
Delivered-To: jsonpath@mail2.ietf.org
Received: from localhost (localhost [127.0.0.1]) by mail2.ietf.org (Postfix) with ESMTP id 85B50AB26416 for <jsonpath@mail2.ietf.org>; Wed, 21 Jan 2026 12:56:08 -0800 (PST)
X-Virus-Scanned: amavisd-new at ietf.org
X-Spam-Flag: NO
X-Spam-Score: -4.398
X-Spam-Level:
X-Spam-Status: No, score=-4.398 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: mail2.ietf.org (amavisd-new); dkim=pass (2048-bit key) header.d=tzi.org
Received: from mail2.ietf.org ([166.84.6.31]) by localhost (mail2.ietf.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 879oZO6k4Zap for <jsonpath@mail2.ietf.org>; Wed, 21 Jan 2026 12:56:06 -0800 (PST)
Received: from smtp.zfn.uni-bremen.de (smtp.zfn.uni-bremen.de [134.102.50.21]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-256) server-digest SHA256) (No client certificate requested) by mail2.ietf.org (Postfix) with ESMTPS id 5DA9BAB263FB for <jsonpath@ietf.org>; Wed, 21 Jan 2026 12:56:06 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=tzi.org; s=2019; t=1769028959; bh=D9GzMK5cPxpYLsHhsbjkcB1Y4XcrlI5cJGw3Y96aFU8=; h=Subject:From:In-Reply-To:Date:Cc:References:To; b=nrSGf4bjhYJIrcJxzzsMcCNdktFy2BaNXm4ocraCJw7DDOhNwLppM3vj3DRo77Ga9 bxY798hVaY8qxYvULVvYdV29p1jNR+VLvm88CRqFvNKH5yz9mMpFIVQPmXG1bPUfRA q9OmR4oIarw4iXf64yTaeNDHlTfvJv04AxKd8OkWm2BTv7H99WbL2izkHyH+bwty/x lx+sdNQgQ2BWZA6otMa6NOBwY04qHLzieGD+NC5MeRUjyzj5VrXuk1G8O86SeN/gRF mSPD8F5RRe5qnIxPE330pqhzqURuDYOJ7SMzOcudLnWTlfJRhj/ywO8waQOJPi4UiW H6sCOLvLcc0lA==
Received: from smtpclient.apple (p548dcea3.dip0.t-ipconnect.de [84.141.206.163]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.zfn.uni-bremen.de (Postfix) with ESMTPSA id 4dxGgf37LgzDCbN; Wed, 21 Jan 2026 21:55:58 +0100 (CET)
Content-Type: text/plain; charset="utf-8"
Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3826.700.81.1.4\))
From: Carsten Bormann <cabo@tzi.org>
In-Reply-To: <CAHBU6isK1Nad4nak8=7GqnOr3wWTs+NyRoCLWB-soY6GB0oyxQ@mail.gmail.com>
Date: Wed, 21 Jan 2026 21:55:46 +0100
Content-Transfer-Encoding: quoted-printable
Message-Id: <608C1E65-CB89-4DCD-9852-235F6ABEB525@tzi.org>
References: <CAN+GtW08id-8xoENup+q569cgr7qy4nFXhRi3Una_Up-bCBjFQ@mail.gmail.com> <41395C71-3320-4510-B4BE-795C14A847A4@saxonica.com> <CAN+GtW2eR344z9H_dVXcXOTMF5LCHo6JpjJOhYguD2rF8e7w5w@mail.gmail.com> <CANH0GbJxqq6Aq=yu9VF03=N5--f8dO-k+4OZOEW4fjyGnYeVkg@mail.gmail.com> <CAHBU6isK1Nad4nak8=7GqnOr3wWTs+NyRoCLWB-soY6GB0oyxQ@mail.gmail.com>
To: Tim Bray <tbray@textuality.com>
X-Mailer: Apple Mail (2.3826.700.81.1.4)
X-FromAuthMilter: ok
Message-ID-Hash: F7UESM6EMAOHMLWGCMMJSI6Y2QPV34K7
X-Message-ID-Hash: F7UESM6EMAOHMLWGCMMJSI6Y2QPV34K7
X-MailFrom: cabo@tzi.org
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
CC: Glyn Normington <glyn.normington.work@gmail.com>, Michael Kay <mike@saxonica.com>, jsonpath@ietf.org, Alan Painter <alan.painter@gmail.com>
X-Mailman-Version: 3.3.9rc6
Precedence: list
Subject: [Jsonpath] Re: RFC9839 and unicode chars to avoid
List-Id: Discussion of JSONPath syntax <jsonpath.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/jsonpath/8cdl5WGacC6v7MErO2NQf6cBDWo>
List-Archive: <https://mailarchive.ietf.org/arch/browse/jsonpath>
List-Help: <mailto:jsonpath-request@ietf.org?subject=help>
List-Owner: <mailto:jsonpath-owner@ietf.org>
List-Post: <mailto:jsonpath@ietf.org>
List-Subscribe: <mailto:jsonpath-join@ietf.org>
List-Unsubscribe: <mailto:jsonpath-leave@ietf.org>

Hi Tim,

> On Jan 21, 2026, at 19:33, Tim Bray <tbray@textuality.com> wrote:
> 
> Well, 9839 aside, my reading of RFC 8259 is that U+0000 isn’t a legal character in JSON member names or string values, see https://datatracker.ietf.org/doc/html/rfc8259#section-7 - so one would think that if it appears in a test suite, that particular test case should fail, no? And that such a test would be valuable?

I’m not sure I understand what you are trying to say here.
JSON of course can represent any Unicode string (and a few non-Unicode strings, but RFC 9535 is careful to limit itself to sequences of Unicode scalar values).

Section 7 of RFC 8259 defines the string literals that can be used in a JSON text to represent strings as JSON values.
Wisely, (the original) JavaScript does not allow C0 control characters in string literals, and JSON follows this.
But you can have your null byte in a string, represented in the JSON text as \u0000.

Maybe I’m completely missing what you are talking about…

Grüße, Carsten