1、JSON 相关基础知识点总结(1)

简介: JSON定义 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,易于阅读和编写,同时也易于机器解析和生成。它基于ECMA262语言规范(1999-12第三版)中JavaScript 编程语言的一个子集。

JSON定义

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,易于阅读和编写,同时也易于机器解析和生成。它基于ECMA262语言规范(1999-12第三版)中JavaScript 编程语言的一个子集。 JSON采用与编程语言无关的文本格式,但是也使用了类C语言(包括CC++C#JavaJavaScriptPerlPython等)的习惯,这些特性使JSON成为理想的数据交换格式。

JSONJavaScript对象描述符号(object literal notation)的一个子集。

JSON的结构基于下面两点

1. "名称/"对的集合 不同语言中,它被理解为对象(object),记录(record),结构(struct),字典(dictionary),哈希表(hash table),键列表(keyed list)

2. 值的有序列表 多数语言中被理解为数组(array)

JSON 语法

AJAXasynchronous javascript and xml(异步javascriptxml),是指一种创建交互式网页应用的网页开发技术)是目前流行web开发技术,它利用客户端脚本向服务器发送请求,而服务器只检索这一请求代替以往检索整个页面的请求,同时服务器编译的数据量也减少了,从而使得服务器响应变得更快了。

这些请求通常检索格式化的xml来响应,然后JavaScript代码分析xml响应来显示结果,使得JavaScript代码复杂化了。这个时候新的事物出现了,JSON(JavaScript Object Notation),它能使JavaScript轻松的读取复杂的数据结构。

特点:

1、简单格式化的数据交换

2、易于人们的读写习惯

3、易于机器的分析和运行

4JavaScript中使用eval()方法可以很方便的读取 JSON数据

5JSON支持的语言ActionScript, C, C#, ColdFusion, E, Java, JavaScript, ML, Objective CAML, Perl, PHP, Python, Rebol, Ruby, and Lua. [6]

语法分析:

JSON可以用于封装数据,它是一种类似于C语言家族的语言,所以能很容易被C语言家族的语言分析

1、对象object包含在一对{}//类似定义结构体,有类型,有变量

2、对象的属性member使用[string : value]成对的表示,属性与属性之间用逗号隔开,如:

string : value , string : value

3、数组array包含在一对[]中,如:

[ elements ]

4、元素elements与元素之间用逗号隔开

elements , elements

5、元素值可具有的类型:

string, number, object, array, true, false, null

JSON

{"menu": {

"id": "file",

"value": "File:",

"popup": {

"menuitem": [

{"value": "New", "onclick": "CreateNewDoc()"},

{"value": "Open", "onclick": "OpenDoc()"},

{"value": "Close", "onclick": "CloseDoc()"}

]

}

}

}

XML

<menu id="file" value="File" >

<popup>

<menuitem value="New" onclick="CreateNewDoc()" />

<menuitem value="Open" onclick="OpenDoc()" />

<menuitem value="Close" onclick="CloseDoc()" />

</popup>

</menu>

对象是一个无序的“‘名称/值’对”集合。一个对象以“{”(左括号)开始,“}”(右括号)结束。每个“名称”后跟一个“:”(冒号);“‘名称/值’ 对”之间使用“,”(逗号)分隔。[7]

数组是值(value)的有序集合。一个数组以“[”(左中括号)开始,“]”(右中括号)结束。值之间使用“,”(逗号)分隔。

值(value)可以是双引号括起来的字符串(string)、数值(number)truefalsenull、对象(object)或者数组(array)。这些结构可以嵌套。

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

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

可以使用eval()函数的eval()方法调用JavaScript的编译器把JSON文本转变成对象。因为JSONJavaScript的一个确切的子集,编译器可以正确地解析JSON文本,然后生成一个对象结构。

eval函数的执行效率很高。然而,它能够编译、执行任何的JS程序,所以这样会有安全问题。在来源可信的时候才需要使用eval,这通常是服务器提供基础页面和JSON数据的web应用程序中的情形。而很多情况中,来源是不可信的。特别是永远都不要信任客户端。

如果关心安全的话,那最好是使用JSON解析器了(js脚本中有解析功能的函数)。JSON解析器只认可JSON文本,因此它比较安全。

JSON的字符串转换器(stringifier)则作相反的工作,它将JavaScript数据结构转换为JSON文本。JSON是不支持循环数据结构的,所以注意不能把循环的结构交给字符串转换器。[8]

目录
相关文章
|
存储 JSON 数据格式
python 操作 json 文件的种种知识点
Python 提供了内置的 json 模块来处理 JSON 格式的文件。 该模块主要分为读取和写入 JSON 文件。
228 0
|
JSON JavaScript 前端开发
JSON知识点
JSON知识点
95 0
|
JSON vr&ar 图形学
【100个 Unity小知识点】 | Unity读取txt或者Json文件,包括 换行符 的方法
Unity 小科普 老规矩,先介绍一下 Unity 的科普小知识: Unity是 实时3D互动内容创作和运营平台 。 包括游戏开发、美术、建筑、汽车设计、影视在内的所有创作者,借助 Unity 将创意变成现实。 Unity 平台提供一整套完善的软件解决方案,可用于创作、运营和变现任何实时互动的2D和3D内容,支持平台包括手机、平板电脑、PC、游戏主机、增强现实和虚拟现实设备。 也可以简单把 Unity 理解为一个游戏引擎,可以用来专业制作游戏!
【100个 Unity小知识点】 | Unity读取txt或者Json文件,包括 换行符 的方法
|
XML JSON fastjson
杨老师课堂之零基础学习JSON知识点
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/kese7952/article/details/81949523 JSON j...
1075 0
|
JSON 前端开发 JavaScript
MVC项目开发中那些用到的知识点(Jquery ajax提交Json后台处理)
前言   jQuery提供的ajax方法能很方便的实现客户端与服务器的异步交互,在asp.net mvc 框架使用jQuery能很方便地异步获取提交数据,给用户提供更好的体验!  调用jQuery的ajax方法时,jQuery会根据post或者get协议对参数data进行序列化;   如果提交...
1060 0
|
Web App开发 JSON JavaScript
3、JSON相关基础知识点总结(3)
小结 归纳为以下几点: • 对象是属性、值对的集合。一个对象的开始于“{”,结束于“}”。每一个属性名和值间用“:”提示,属性间用“,”分隔。 • 数组是有顺序的值的集合。一个数组开始于"[",结束于"]",值之间用","分隔。
1160 0
|
1月前
|
JSON 前端开发 Java
Json格式数据解析
Json格式数据解析
|
22小时前
|
XML JSON API
转Android上基于JSON的数据交互应用
转Android上基于JSON的数据交互应用
|
8天前
|
JSON JavaScript Java
从前端Vue到后端Spring Boot:接收JSON数据的正确姿势
从前端Vue到后端Spring Boot:接收JSON数据的正确姿势
21 0
|
10天前
|
JSON 数据格式 Python
Python标准库中包含了json模块,可以帮助你轻松处理JSON数据
【4月更文挑战第30天】Python的json模块简化了JSON数据与Python对象之间的转换。使用`json.dumps()`可将字典转为JSON字符串,如`{&quot;name&quot;: &quot;John&quot;, &quot;age&quot;: 30, &quot;city&quot;: &quot;New York&quot;}`,而`json.loads()`则能将JSON字符串转回字典。通过`json.load()`从文件读取JSON数据,`json.dump()`则用于将数据写入文件。
16 1