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]

目录
相关文章
|
5月前
|
XML JSON JavaScript
杨老师课堂之零基础学习JSON知识点
杨老师课堂之零基础学习JSON知识点
24 0
|
前端开发 开发工具 git
一篇文章讲清楚关于package.json几点让人迷惑的知识点,建议收藏
一篇文章讲清楚关于package.json几点让人迷惑的知识点,建议收藏
|
JSON JavaScript 前端开发
JSON知识点
JSON知识点
123 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...
1097 0
|
JSON 前端开发 JavaScript
MVC项目开发中那些用到的知识点(Jquery ajax提交Json后台处理)
前言   jQuery提供的ajax方法能很方便的实现客户端与服务器的异步交互,在asp.net mvc 框架使用jQuery能很方便地异步获取提交数据,给用户提供更好的体验!  调用jQuery的ajax方法时,jQuery会根据post或者get协议对参数data进行序列化;   如果提交...
1090 0
|
Web App开发 JSON JavaScript
3、JSON相关基础知识点总结(3)
小结 归纳为以下几点: • 对象是属性、值对的集合。一个对象的开始于“{”,结束于“}”。每一个属性名和值间用“:”提示,属性间用“,”分隔。 • 数组是有顺序的值的集合。一个数组开始于"[",结束于"]",值之间用","分隔。
1182 0
|
25天前
|
数据采集 JSON 数据处理
抓取和分析JSON数据:使用Python构建数据处理管道
在大数据时代,电商网站如亚马逊、京东等成为数据采集的重要来源。本文介绍如何使用Python结合代理IP、多线程等技术,高效、隐秘地抓取并处理电商网站的JSON数据。通过爬虫代理服务,模拟真实用户行为,提升抓取效率和稳定性。示例代码展示了如何抓取亚马逊商品信息并进行解析。
抓取和分析JSON数据:使用Python构建数据处理管道
|
11天前
|
JSON 数据格式 索引
Python中序列化/反序列化JSON格式的数据
【11月更文挑战第4天】本文介绍了 Python 中使用 `json` 模块进行序列化和反序列化的操作。序列化是指将 Python 对象(如字典、列表)转换为 JSON 字符串,主要使用 `json.dumps` 方法。示例包括基本的字典和列表序列化,以及自定义类的序列化。反序列化则是将 JSON 字符串转换回 Python 对象,使用 `json.loads` 方法。文中还提供了具体的代码示例,展示了如何处理不同类型的 Python 对象。
|
15天前
|
JSON 缓存 前端开发
PHP如何高效地处理JSON数据:从编码到解码
在现代Web开发中,JSON已成为数据交换的标准格式。本文探讨了PHP如何高效处理JSON数据,包括编码和解码的过程。通过简化数据结构、使用优化选项、缓存机制及合理设置解码参数等方法,可以显著提升JSON处理的性能,确保系统快速稳定运行。