JSON 格式说明

news2024/11/24 23:06:25

文章目录

    • 一、关于 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、对象

对象是一组无序的名称/值对。对象以 { 左大括号开始,以 } 右大括号结束。

每个名称后面跟着 : 冒号,名称/值对用 , 逗号分隔。


img


2、数组

数组是值的有序集合。数组以“[”左括号开始,以“]”右括号结束。值用逗号分隔。

img


3、值

可以是双引号中的字符串数字、“true”、“false”或“null”、对象数组。这些结构可以嵌套。

img


4、字符串

string是一个由零个或多个Unicode字符组成的序列,用双引号括起来,使用反斜杠转义。一个字符被表示为单个字符串。字符串非常像C或Java字符串。


img


5、数值

除了不使用八进制和十六进制格式外,数字非常像C或Java数字。

img


6、空白

空白可以插入任何一对令牌之间。除了一些编码细节外,这完全描述了该语言。

img


三、各语言对 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(四)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1803921.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【CS.CN】深入探讨下HTTP的Connection头:通过keep-alive实现高效网络连接

文章目录 0 序言0.1 由来0.2 使用场景0.3 现在还需要吗? 1 Connection: keep-alive的机制2 语法 && 通过设置Connection: keep-alive优化性能3 验证与性能提升4 总结References 0 序言 0.1 由来 Connection头部字段在HTTP/1.1中被引入,主要用于…

Linux安装RocketMQ教程【带图文命令巨详细】

巨详细Linux安装Nacos教程RocketMQ教程 1、检查残留版本2、上传压缩包至服务器2.1压缩包获取2.2创建相关目录 3、安装RocketMQ4、配置RocketMQ4.1修改runserver.sh和runbroker.sh启动脚本4.2新增broker.conf配置信息4.3启动关闭rocketmq4.4配置开机自启动(扩展项&am…

Vxe UI vue 使用 VxeUI.previewImage() 图片预览方法

Vxe UI vue 使用 VxeUI.previewImage() 图片预览方法的调用 查看 github 代码 调用全局方法 VxeUI.previewImage() 参数说明: urlList:图片列表,支持传字符串,也可以传对象数组 [{url: xx’l}] activeIndex:指定默…

力扣经典面试题-旋转链表(Java)

1.题目描述:给你一个链表的头节点 head ,旋转链表,将链表每个节点向右移动 k 个位置。 示例 1: 输入:head [1,2,3,4,5], k 2 输出:[4,5,1,2,3] 示例 2: 输入:head [0,1,2], k …

stanfordcorenlp+python做中文nlp任务,得到的结果中全是空字符串,而不是中文字符串

问题描述 代码: from stanfordcorenlp import StanfordCoreNLP import logging#中文中的应用,一定记得下载中文jar包,并标志lang‘zh’ nlp_zh StanfordCoreNLP(rD:\stanford-corenlp-full-2016-10-31, port8094, langzh,quietFalse,logg…

基于YOLOv8的海面石油泄露检测实例分割完整含数据集

需要收集包含海面石油泄漏的图像数据集,并进行标注以指示泄漏区域。接下来,可以使用深度学习框架如PyTorch或TensorFlow,基于YOLO(You Only Look Once)系列的目标检测模型结构,进行训练。YOLO系列的模型具有…

电压模式 R-2R DAC 的工作原理和特性

在本文中,我们将探索什么是 R-2R DAC 以及如何实现它们。 首先,我们将简要回顾一下开尔文分频器 DAC。这种结构很简单,但需要大量电阻和开关来实现高分辨率 DAC。此问题的一种解决方案是称为 R-2R DAC 的 DAC 结构。这些结构巧妙地利用梯形网…

Elasticsearch 认证模拟题 - 14

一、题目 在集群中输入以下指令: PUT phones/_doc/1 {"brand":"Samsumg","model":"Galaxy S9","features":[{"type":"os", "value":"Android"},{"type":&q…

李飞飞解读创业方向:「空间智能」

在AI领域,李飞飞教授一直是一个举足轻重的存在。她的研究和见解不仅推动了计算机视觉的发展,更对人工智能的未来方向产生了深远的影响。在最近的一次演讲中,李飞飞详细解读了她对于「空间智能」的见解。本文将对她的演讲内容进行详细解读&…

如何使用GPT-4o函数调用构建一个实时应用程序?

本教程介绍了如何使用OpenAI最新的LLM GPT-4o通过函数调用将实时数据引入LLM。 我们在LLM函数调用指南(详见https://thenewstack.io/a-comprehensive-guide-to-function-calling-in-llms/)中讨论了如何将实时数据引入聊天机器人和代理。现在,我们将通过将来自Fligh…

持续警惕火灾风险:学校可燃气体报警器的定期校准检验

可燃气体报警器在学校中的安装、检验和校准对于保护师生生命安全至关重要。 接下来,佰德将探讨可燃气体报警器在学校中的必要性,以及相关实际案例和数据,为您呈现一个安全的学习环境。 一、学校安全不能掉以轻心 学校是培养未来的摇篮&…

Android限制参数传递之StringDef注解的使用

文章目录 1. 引言2. 注解 StringDef2.1 举例2.2 StringDef源码解释 3. 其他类似注解 IntDef、LongDef4. 总结 1. 引言 在参数传递时,如果你想限制传入的参数只能是特定的几个值,该怎么做呢? 除了把参数类型定义为枚举值,还可以使…

Boom 3D软件最新版下载及详细安装教程

值得肯定的是Boom 3D最新版新增的Boom音量控制器和Controlled Boost功能为使用者提供了一个完美的控制,通过一个整齐的设计切换栏的系统音频输出,帮助他们轻松调整音量,从而让他们实现理想的音频输出,有需要的欢迎来开心电玩下载使…

C++笔记之一个函数多个返回值的方法、std::pair、std::tuple、std::tie的用法

C++笔记之一个函数多个返回值的方法、std::pair、std::tuple、std::tie的用法 —— 2024-06-08 杭州 code review! 文章目录 C++笔记之一个函数多个返回值的方法、std::pair、std::tuple、std::tie的用法一.从一个函数中获取多个返回值的方法1. 使用结构体或类2. 使用`std::t…

Polar Web【中等】你知道sys还能这样玩吗

Polar Web【中等】你知道sys还能这样玩吗 Contents Polar Web【中等】你知道sys还能这样玩吗思路&探索源码 EXPPHP测试生成十六进制化的命令上传测试 Python 脚本 运行&总结 思路&探索 本题属实是有些…即使提示了sys也难以迅速想到 /sys.php 这个路径,…

IP纯净度是什么,对用户有多么重要?

在网络应用和数据采集等领域,代理IP被广泛使用,而代理IP的纯净度则直接影响其性能和可用性。代理IP的纯净度主要涉及到代理IP在网络传输过程中的稳定性、匿名性和安全性。今天就带大家一起了解代理IP纯净度对用户的重要性。 第一,保护用户的隐…

密文域可逆信息隐藏安全性研究-从图像到视频

前言 随着云存储、云计算等新兴技术的兴起,海量的隐私信息被广泛地上传、存储到服务器上。为保证用户的隐私性,必须对用户的数据进行加密,然后再将其上传到服务器上。因此,密文域的可逆信息隐藏(reversible data hiding in encry…

RPM包方式离线部署gitlab

下载安装包 要求:可以联网,系统及版本与目标服务器一致。配置gitlab yum仓库 curl -s https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash 新建包存放目录 mkdir /root/gitlab 下载gitlab及相关安装包 …

RPA影刀 | 变量的使用

1.什么是变量 2.变量的作用 作用1:方便后续流程调用 这里在后续流程“点击元素”中,就可以选中这个变量 作用2:区分相同属性的变量 如果要打开两个网页,总不能都叫web_page吧。 所以这里一个叫百度web_page,一个叫…

【论文阅读】Point2RBox (CVPR’2024)

paper:https://arxiv.org/abs/2311.14758 code:https://github.com/yuyi1005/point2rbox-mmrotate