~/talk

The Future of JSON in Go

Talkat GopherCon 2023 · 2023-09-26..09-29· [go]
name:Joe Tsai
links:none on file
slides:none on file

A working V2 prototype reimplements encoding/json with a streaming json/text encoder and decoder, new variadic options to match V1 or opt into safer defaults, and new hooks like MarshalFunc/unmarshalFunc to avoid double parsing. Default V2 behavior rejects duplicate names and invalid UTF‑8; benchmarks show unmarshalling is 2.5x–8.4x faster in some cases while marshalling is roughly parity, the prototype is used in Kubernetes and Tailscale and avoids unsafe.

AI-written summary · about

  1. 0:00Introduction
  2. 1:10JSON improvements agenda
  3. 2:39JSON in Go
  4. 7:37Flaws in encoding/json
  5. 15:21Performance issues
  6. 17:28Security with duplicate names
  7. 21:26JSON V2 design
  8. 28:16JSON text and streaming
  9. 34:00V1 and V2 interoperability
  10. 38:57Benchmarks and results
  11. 41:30Next steps
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.