[go] encoding/json/v2: remove `unknown` tag option and DiscardUnknownMembers

0 views
Skip to first unread message

Joseph Tsai (Gerrit)

unread,
Feb 12, 2026, 7:09:13 PM (11 hours ago) Feb 12
to goph...@pubsubhelper.golang.org, golang-...@googlegroups.com, Michael Pratt, Damien Neil, Go LUCI, Daniel Martí, Johan Brandhorst-Satzkorn, golang-co...@googlegroups.com

Joseph Tsai submitted the change

Change information

Commit message:
encoding/json/v2: remove `unknown` tag option and DiscardUnknownMembers

WARNING: This commit contains breaking changes
for those already using GOEXPERIMENT=jsonv2.

This removes support for the `unknown` tag option and
the DiscardUnknownMembers marshal option.

The `unknown` tag option semantics are a bit too subtle
even for experienced Go programmers to understand.
Remove support for it. The exact same feature (or something similar)
can be added back into a future release of json/v2.

We already support the `inline` tag option,
which can handle most cases of what someone might want to do
with unknown fields (such as preserve them).

Fixes #77271
Updates #76444
Change-Id: I875952f0755e58aac4c571869b2cdb56e75cfda9
Reviewed-by: Damien Neil <dn...@google.com>
Reviewed-by: Michael Pratt <mpr...@google.com>
Files:
  • M src/encoding/json/internal/jsonflags/flags.go
  • M src/encoding/json/v2/arshal_default.go
  • M src/encoding/json/v2/arshal_test.go
  • M src/encoding/json/v2/doc.go
  • M src/encoding/json/v2/example_test.go
  • M src/encoding/json/v2/fields.go
  • M src/encoding/json/v2/fields_test.go
  • M src/encoding/json/v2/options.go
Change size: L
Delta: 8 files changed, 54 insertions(+), 206 deletions(-)
Branch: refs/heads/master
Submit Requirements:
  • requirement satisfiedCode-Review: +1 by Michael Pratt, +2 by Damien Neil
  • requirement satisfiedTryBots-Pass: LUCI-TryBot-Result+1 by Go LUCI
Open in Gerrit
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: merged
Gerrit-Project: go
Gerrit-Branch: master
Gerrit-Change-Id: I875952f0755e58aac4c571869b2cdb56e75cfda9
Gerrit-Change-Number: 741320
Gerrit-PatchSet: 2
Gerrit-Owner: Joseph Tsai <joe...@digital-static.net>
Gerrit-Reviewer: Damien Neil <dn...@google.com>
Gerrit-Reviewer: Daniel Martí <mv...@mvdan.cc>
Gerrit-Reviewer: Johan Brandhorst-Satzkorn <johan.br...@gmail.com>
Gerrit-Reviewer: Joseph Tsai <joe...@digital-static.net>
Gerrit-Reviewer: Michael Pratt <mpr...@google.com>
open
diffy
satisfied_requirement
Reply all
Reply to author
Forward
0 new messages