JSON是什么?

2019-03-22 00:56|来源: 网路

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。它基于JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1999的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)。这些特性使JSON成为理想的数据交换语言。

JSON建构于两种结构:

1.“名称/值”对的集合(A collection of name/value pairs)。不同的语言中,它被理解为对象(object),纪录(record),结构(struct),字典(dictionary),哈希表(hash table),有键列表(keyed list),或者关联数组 (associative array)。我个人更愿意理解为key-value结构

2.值的有序列表(An ordered list of values)。在大部分语言中,它被理解为数组(array)。


这些都是常见的数据结构。事实上大部分现代计算机语言都以某种形式支持它们。这使得一种数据格式在同样基于这些结构的编程语言之间交换成为可能。
JSON具有以下这些形式:
对象是一个无序的“‘名称/值’对”集合。一个对象以“{”(左括号)开始,“}”(右括号)结束。每个“名称”后跟一个“:”(冒号);“‘名称/值’ 对”之间使用“,”(逗号)分隔。
如:
{"UserID":11, "Name":"Truly", "Email":"zhuleipro◎hotmail.com"};  


数组是值(value)的有序集合。一个数组以“[”(左中括号)开始,“]”(右中括号)结束。值之间使用“,”(逗号)分隔。
[
{"UserID":11, "Name":{"FirstName":"Truly","LastName":"Zhu"}, "Email":"zhuleipro◎hotmail.com"},
{"UserID":12, "Name":{"FirstName":"Jeffrey","LastName":"Richter"}, "Email":"xxx◎xxx.com"},
{"UserID":13, "Name":{"FirstName":"Scott","LastName":"Gu"}, "Email":"xxx2◎xxx2.com"}
]


值(value)可以是双引号括起来的字符串(string)、数值(number)、true、false、 null、对象(object)或者数组(array)。这些结构可以嵌套。
{UserID:001,UserName:"Majie",IsAdmin:true,Rights:{IsAdd:true,IsDelete:false,IsEdit:true},fn:null}



字符串(string)是由双引号包围的任意数量Unicode字符的集合,使用反斜线转义。一个字符(character)即一个单独的字符串(character string)。
字符串(
string)与C或者Java的字符串非常相似。

数值(
number)也与C或者Java的数值非常相似。除去未曾使用的八进制与十六进制格式。除去一些编码细节。

对象是属性、值对的集合。一个对象的开始于“{”,结束于“}”。每一个属性名和值间用“:”提示,属性间用“,”分隔。 数组是有顺序的值的集合。一个数组开始于"[",结束于"]",值之间用","分隔。 值可以是引号里的字符串、数字、true、false、null,也可以是对象或数组。这些结构都能嵌套。 字符串和数字的定义和C或Java基本一致。


文/SealedLove  出处/博客园

相关问答

更多
  • 前后台传输的时候其实是字符串,解析是把字符串重新变成json类型的对象,这样就能对里面的各种类型的属性或对象作操作了。
  • JSON,全称是JavaScript Object Notation。它是基于JavaScript编程语言ECMA-262 3rd Edition-December 1999标准的一种轻量级的数据交换格式,主要用于用于跟服务器进行交换数据。跟XML相类似,它独立于语言,在跨平台数据传输上有很大的优势。 上面是百科的解释,可以说明json大概的意思和作用,json其实就是键值对存储数据,举个例子: var a ={"one":"一","two":"二","three":"三"},a就是一个json,a.one ...
  • ajax中json 是什么[2019-05-11]

    1.json是一种数据格式,比xml要简洁 2.都不算是 3.在ajax一般是json来传递数据 4.不需要什么包或者文件,只要你遵守json的数据格式即可 如 {"name":"admin","age":22} ,这个是封装一个人的信息姓名年龄
  • json 是什么文件[2022-05-27]

    SON的全称是”JavaScript Object Notation”,意思是JavaScript对象表示法,它是一种基于文本,独立于语言的轻量级数据交换格式。XML也是一种数据交换格式,为什么没有选择XML呢?因为XML虽然可以作为跨平台的数据交换格式,但是在JS(JavaScript的简写)中处理XML非常不方便,同时XML标记比数据多,增加了交换产生的流量,而JSON没有附加的任何标记,在JS中可作为对象处理,所以我们更倾向于选择JSON来交换数据。 JSON采用完全独立于语言的文本格式,但是也使用了 ...
  • 是python的一个库 import json直接在pip下下载安装就行 一般是运用他的 json.dump json.load
  • json是当前比较流行的数据交换的一种格式,解析json就是解析数据内容 json举例{"name":"小明","age":17},这就是一条json,因为格式是固定的,所以大部分语言都能够解析
  • json解析是什么[2022-11-17]

    就是把json字符串的结构根据需要的信息提取出来,和解析xml一个概念 赞同
  • json是什么文件[2023-11-23]

    JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。易于人阅读和编写,同时也易于机器解析和生成。它基于JavaScript(Standard ECMA-262 3rd Edition - December 1999)的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)。这些特性使JSON成为理想的数据交换语言。
  • JSON(JavaScript Object Notation) 种轻量级数据交换格式主要用于传送数据 JSON JavaScript 对象表示组数据转换字符串函数之间轻松地传递字符串或者异步应用程序字符串从 Web 客户机传递给服务器端程序字符串看起来有点儿古怪 JavaScript 容易解释而且 JSON 表示比"名称 / 值对"更复杂结构例表示数组和复杂对象而仅仅键和值简单列表 JSON采用完全独立于语言文本格式也使用了类似于C语言家族习惯(包括C, C++, C#, Java, JavaScript ...
  • json是什么[2022-12-26]

    [ XML ]使用XML作为传输格式的优势:1. 格式统一, 符合标准2. 容易与其他系统进行远程交互, 数据共享比较方便缺点:1. XML文件格式文件庞大, 格式复杂, 传输占用带宽2. 服务器端和客户端都需要花费大量代码来解析XML, 不论服务器端和客户端代码变的异常复杂和不容易维护3. 客户端不同浏览器之间解析XML的方式不一致, 需要重复编写很多代码4. 服务器端和客户端解析XML花费资源和时间[ JSON ]那么除了XML格式, 还有没有其他格式, 有一种叫做JSON (JavaScript Ob ...