JSON 数据格式

JSON 数据格式

JSON 是什么

JSON 是 JavaScript Object Notation 的缩写,是一种轻量级的数据交换格式。JSON 是基于 JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1999 的一个子集。

JSON 是独立于任何语言的文本格式。易于程序员阅读和编写,同时也易于计算机解析和生成。

JSON 的中文官网地址: http://www.json.org/isonzh.html

JSON 语法规则

JSON 格式的构建比较简单,主要为两种结构:

  • “名称/值”对的集合(A collection of narne/value pairs)。不同的语言中,它被理解为对象( object ),纪录(record ),结构( struct ),字典( dictionary ),哈希表( hash table ) ,有键列表( keyed list ) ,或者关联数组( associative array )。
  • 值的有序列表(An ordered list of values )。在大部分语言中,它被理解为数组( array )。JSON 格式中作为值的类型允许是字符串 ( string )、数值(nurmber)、true、false、null、对象( object)或者数组( array ) 。

JSON 中的键值对集合

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

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uyyylfr6-1638491019484)(C:\Users\86175\Desktop\启嘉\Git\jody\Ajax\第一天\QQ截图20201114150808.png)]

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

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-K7ezejMm-1638491019486)(C:\Users\86175\Desktop\启嘉\Git\jody\Ajax\第一天\QQ截图20201114150950.png)]

JSON 文件

JSON 具有独立的文件,扩展名为“ison”。该文件中允许保存 JSON 格式的数据。

{
  "name": "卧龙学苑",
  "addr": "保定市复兴中路77号直隶大厦1516室",
  "classes": ["Web前端就业课程", "Web前端生涯规划课程"]
}

注意:在 JSON 文件中编写“名称/值”对的集合时,作为“名称”的 Key 必须使用双引号(“”)包裹。

JavaScript 与 JSON

JSON 是一种语法,用来序列化对象、数组、数值、字符串、布尔值和 null。它基于 JavaScript 语法,但与之不同:JavaScript 不是 JSON,JSON 也不是 JavaScript。

JavaScript 类型 JSON 的不同点
对象和数组 属性名称必须是双引号括起来的字符串;最后一个属性后不能有逗号
数值 禁止出现前导零
字符串 只有有限的一些字符可能被转义

JSON 字符串与 JSON 对象

JSON 字符串就是指在 JavaScript 语言中内容格式符合 JSON 格式的字符串类型的数据。

var jsonText = 't"name":"启嘉班" ," addr":"河北软件"};

JSON 对象就是指 JSON 格式在 JavaScript 语言中的具体表现形式为对象或数组。

var jsonObject = {
  name: "启嘉班",
  addr: "河北软件",
};

JavaScript 的 JSON 对象

JavaScript 语言中存在 JSON 对象,该对象用于实现字符串与对象之间的转换。其提供以下两个方法:

  • JSON.parse()方法:解析 JSON 字符串并返回对应的值。
JSON.parse('');//{}
JSON.parse('true'); /l trueJSON.parse(""foo""); /l "foo"
JSON.parse('[1,5, "false"]');//[1,5, "false"]JSON.parse( 'null'); // null
  • JSON.stringify()方法:返回与指定值对应的 JSON 字符串。
JSON.stringify();// {}
JSON.stringify(true); l/ 'true'JSON.stringifv( "foo"); /l "foo""
JSON.stringify([1, "false", false]);/l '[1,"false",false]'JSON.stringify({ x: 5 });//'{"x":5}

注意:JSON 对象在旧版本的刘览器中不被支持,引人 json2js 文件进行解决。

构建 JSON 格式数据

通过 Ajax 向服务器端提交异步请求时,允许使用 JSON 格式的请求数据。如下示例代码所示:

//使用对象类型存储请求数据
var obj=- {
    "name": "启嘉班""addr": "河北软件"
}
//将JSON对象转换为JSON字符串
var jsonText = JSON.stringify(obj);
//将构建的请求数据传递给XMLHttpRequest对象的send()方法
httpRequest.send( jisonText);

你可能感兴趣的:(Ajax,json)