文章目录
- 一、关于 JSON
- 二、JSON 常见格式
- 1、对象
- 2、数组
- 3、值
- 4、字符串
- 5、数值
- 6、空白
- 三、各语言对 Json 的支持
- 官网:https://www.json.org/json-en.html (本文翻译自此)
一、关于 JSON
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式。人类读写很容易。机器很容易解析和生成。
它基于JavaScript编程语言标准ECMA-262第三版(1999年12月)的子集。
JSON是一种完全独立于语言的文本格式,但使用C族语言程序员熟悉的约定,包括C、C++、C#、Java、JavaScript、Perl、Python和许多其他语言。
这些属性使JSON成为一种理想的数据交换语言。
JSON建立在两个结构上:
- 名称/值对的集合。在各种语言中,这被实现为对象、记录、结构、字典、哈希表、键控列表或关联数组。
- 值的有序列表。在大多数语言中,这被实现为数组、向量、列表或序列。
这些都是通用的数据结构。几乎所有现代编程语言都以这样或那样的形式支持它们。与编程语言可交互的数据格式也基于这些结构,这是有道理的。
二、JSON 常见格式
在JSON中,它们采用以下形式:
1、对象
对象是一组无序的名称/值对。对象以 {
左大括号开始,以 }
右大括号结束。
每个名称后面跟着 :
冒号,名称/值对用 ,
逗号分隔。
2、数组
数组是值的有序集合。数组以“[”左括号开始,以“]”右括号结束。值用逗号分隔。
3、值
值 可以是双引号中的字符串、数字、“true”、“false”或“null”、对象或数组。这些结构可以嵌套。
4、字符串
string是一个由零个或多个Unicode字符组成的序列,用双引号括起来,使用反斜杠转义。一个字符被表示为单个字符串。字符串非常像C或Java字符串。
5、数值
除了不使用八进制和十六进制格式外,数字非常像C或Java数字。
6、空白
空白可以插入任何一对令牌之间。除了一些编码细节外,这完全描述了该语言。
三、各语言对 Json 的支持
- 8th
- json
- ActionScript
- ActionScript3
- Ada
- GNATCOLL.JSON
- AdvPL
- JSON-ADVPL
- APL
- [⎕JSON](http://help.dyalog.com/latest/#Language/System Functions/json.htm)
- ASP
- JSON for ASP
- JSON ASP utility class
- AWK
- JSON.awk
- rhawk
- BlitzMax
- bmx-rjson
- C
- mu_json
- JSON_checker
- YAJL
- LibU
- json-c
- json-parser
- jsonsl
- WJElement
- M’s JSON parser
- cJSON
- Jansson
- jsmn
- parson
- ujson4c
- frozen
- microjson
- mjson
- progbase
- lwjson
- cisson
- nanoJSONc
- C++
- JSONKit
- jsonme–
- ThorsSerializer
- JsonBox
- jvar
- rapidjson
- JSON for Modern C++
- minijson
- jsoncons
- jsoncpp
- univalue
- ArduinoJson
- QJson
- CAJUN
- libjson
- nosjob
- JSON library for IoT
- qmjson
- JSON Support in Qt
- JsonWax for Qt
- progbase
- Qentem-Engine
- C#
- fastJSON
- JSON_checker
- Json.NET
- JSON for .NET
- Manatee Json
- FastJsonParser
- LightJson
- Liersch.Json
- Liersch.JsonSerialization
- progbase
- JSON Essentials
- Clojure
- data.json
- Cobol
- Redvers COBOL JSON Interface
- ColdFusion
- SerializeJSON
- D
- std.json
- asdf
- vibe.data.json
- Dart
- json library
- Delphi
- Delphi Web Utils
- JSON Delphi Library
- E
- JSON in TermL
- Erlang
- erl-json
- Fantom
- Json
- FileMaker
- JSON
- Fortran
- json-fortran
- YAJL-Fort
- jsonff
- Go
- package json
- Groovy
- groovy-io
- Haskell
- RJson package
- json package
- Java
- JSON-java
- esson
- JSONUtil
- jsonp
- Json-lib
- Stringtree
- SOJO
- json-taglib
- Flexjson
- Argo
- jsonij
- fastjson
- mjson
- jjson
- json-simple
- json-io
- google-gson
- FOSS Nova JSON
- Corn CONVERTER
- Apache johnzon
- Genson
- cookjson
- progbase
- jackson
- MOXy
- JavaScript
- JSON
- json2.js
- clarinet
- Oboe.js
- progbase
- LabVIEW
- flatten
- Lisp
- Common Lisp JSON
- LiveCode
- mergJSON
- LotusScript
- [JSON LS](http://www.openntf.org/Projects/pmt.nsf/ProjectHome?ReadForm&Query=JSON LS)
- Lua
- JSON Modules
- M
- DataBallet
- Matlab
- JSONlab
- 20565
- 23393
- Net.Data
- netdata-json
- Nim
- Module json
- Objective C
- NSJSONSerialization
- json-framework
- JSONKit
- yajl-objc
- TouchJSON
- OCaml
- jsonm
- PascalScript
- JsonParser
- Perl
- CPAN
- Photoshop
- JSON Photoshop Scripting
- PHP
- PHP 5.2
- PicoLisp
- picolisp-json
- Pike
- Public.Parser.JSON
- Public.Parser.JSON2
- PL/SQL
- pljson
- PureBasic
- JSON
- Puredata
- PuRestJson
- Python
- The Python Standard Library
- simplejson
- pyson
- Yajl-Py
- ultrajson
- metamagic.json
- progbase
- R
- rjson
- jsonlite
- Racket
- json-parsing
- Rebol
- json.r
- RPG
- JSON Utilities
- Rust
- Serde JSON
- json-rust
- Ruby
- yajl-ruby
- json-stream
- progbase
- Scala
- circe
- Scheme
- MZScheme
- JSON-struct
- Shell
- Jshon
- JSON.sh
- jwalk
- Squeak
- Squeak
- Tcl
- JSON
- Visual Basic
- VB-JSON
- [PW.JSON](http://www.pozzware.com/pozzware/Corsi/Programmazione/VB.NET/JSON Library.aspx)
- .NET-JSON-Transformer
- progbase
- Visual FoxPro
- fwJSON
- JSON
- vfpjson
- Wing
- json-type
2024-05-30(四)