Skip to content

搞英语 → 看世界

翻译英文优质信息和名人推特

Menu
  • 首页
  • 作者列表
  • 独立博客
  • 专业媒体
  • 名人推特
  • 邮件列表
  • 关于本站
Menu

JSON 完整的数据格式和编程语言

Posted on 2025-12-22

互联网上的大部分数据都使用一种名为 JSON 的简单格式进行共享。JSON 由两种复合类型(数组和键值对)以及少量基本类型(64 位浮点数、字符串、null 和布尔值)组成。JSON 尽管简单易用,却能得到广泛应用,这本身就说明了一些问题。

 { 
  
"名称" : "新星光" , 
  
年龄: 28​​​ 
  
“能力” : [ “念动力” 、 “飞行” 、 “能量冲击波” ] 
  
}

有趣的是,JSON 与流行的 Go 语言默认提供的数据结构非常相似。Go 除了提供标准的基本数据类型外,还提供了数组/切片和映射(map)。这比 C 语言略胜一筹,因为 C 语言默认不提供映射。但它比 Java、C++、C# 以及许多其他编程语言要简单得多,因为这些语言的标准库已经涵盖了教科书中大部分的数据结构。

JSON 和 Go 语言中至少缺少一种显而易见的数据结构:集合(set)。由于对象不应该有重复的键,因此可以通过将键赋值给任意值(例如 true)来实现字符串集合。

 { " element1 " : true , " element2 " : true }

但我认为这是一种不太常见的模式。大多数情况下,当我们想要表示一组对象时,数组就足够了。我们只需要想办法处理重复项即可。

人们曾多次尝试向 JSON 添加更多概念,增加其复杂性,但这些尝试都未能取得显著成效。我认为这反映出 JSON 作为一种数据格式已经足够优秀。

我把任何能够表示 JSON 数据的格式,例如 YAML,都称为 JSON 完整数据格式。如果它至少与 JSON 等效,那么对于大多数问题来说就足够丰富了。

同样地,我建议新的编程语言应该力求完全兼容 JSON:它们应该提供一个包含键值对、数组和基本原始类型的映射。从这个角度来看,C 和 Pascal 编程语言都还不完全兼容 JSON。

原文: https://lemire.me/blog/2025/12/20/json-complete-data-format-and-programming-languages/

本站文章系自动翻译,站长会周期检查,如果有不当内容,请点此留言,非常感谢。
  • Abhinav
  • Abigail Pain
  • Adam Fortuna
  • Alberto Gallego
  • Alex Wlchan
  • Alin Panaitiu
  • Anil Dash
  • Answer.AI
  • Arne Bahlo
  • Ben Carlson
  • Ben Kuhn
  • Bert Hubert
  • Big Technology
  • Bits about Money
  • Brandon Skerritt
  • Brian Krebs
  • ByteByteGo
  • Chip Huyen
  • Chips and Cheese
  • Christopher Butler
  • Colin Percival
  • Cool Infographics
  • Dan Sinker
  • David Walsh
  • Dmitry Dolzhenko
  • Dustin Curtis
  • eighty twenty
  • Elad Gil
  • Ellie Huxtable
  • Ethan Dalool
  • Ethan Marcotte
  • Exponential View
  • FAIL Blog
  • Founder Weekly
  • Geoffrey Huntley
  • Geoffrey Litt
  • Greg Mankiw
  • HeardThat Blog
  • Henrique Dias
  • Herman Martinus
  • Hypercritical
  • IEEE Spectrum
  • Investment Talk
  • Jaz
  • Jeff Geerling
  • Jonas Hietala
  • Josh Comeau
  • Lenny Rachitsky
  • Li Haoyi
  • Liz Danzico
  • Lou Plummer
  • Luke Wroblewski
  • Maggie Appleton
  • Matt Baer
  • Matt Stoller
  • Matthias Endler
  • Mert Bulan
  • Mind Matters
  • Mostly metrics
  • Naval Ravikant
  • News Letter
  • NextDraft
  • Non_Interactive
  • Not Boring
  • One Useful Thing
  • Phil Eaton
  • PostHog
  • Product Market Fit
  • Readwise
  • ReedyBear
  • Robert Heaton
  • Rohit Patel
  • Ruben Schade
  • Sage Economics
  • Sam Altman
  • Sam Rose
  • selfh.st
  • Shtetl-Optimized
  • Simon schreibt
  • Slashdot
  • Small Good Things
  • Steph Ango
  • Stephen Wolfram
  • Steve Blank
  • Taylor Troesh
  • Telegram Blog
  • The Macro Compass
  • The Pomp Letter
  • thesephist
  • Thinking Deep & Wide
  • Tim Kellogg
  • Understanding AI
  • Wes Kao
  • 英文媒体
  • 英文推特
  • 英文独立博客
©2025 搞英语 → 看世界 | Design: Newspaperly WordPress Theme