美文网首页
JSON数据格式与JavaScript中的JSON对象

JSON数据格式与JavaScript中的JSON对象

作者: JasonNull | 来源:发表于2017-09-22 17:37 被阅读0次

转载自  

https://itbilu.com/javascript/js/Vkmh3oeOg.html

JSON(JavaScript Object Notation,JavaScript对象标记)是一种轻量级的轻量级的数据交换语言,是ECMAScript的一个子集。JSON是独立于语言的一种文本格式,这种格式非常易于人的阅读和编写,也易于机器的解析。由于没有过多的描述标记,在网络传输中有较高的传输效率,是一种理想的数据交互格式。

JSON特点

JSON值类型

JavaScript中的JSON对象

3.1eval()函数与JSON对象

3.2JSON对象中的方法

1. JSON特点

JSON是ECMAScript的子集,其与JavaScript中的对象结构类似,是一种键/值(key/value)对的形式。一个JSON结构如下:

{

"name":"IT笔录",

"domain":"www.itbilu.com",

"menus":["Node.js","JavaScript","数据库","Linux"],

"config":

{

"db":"dbPath",

"host":"192.168.1.22",

"port":80

}

}

结合上例,JSON特征如下:

JSON数据包含在一个大括号{}中,由{开始,}结束

JSON的键/值由:分隔,如:"name":"IT笔录"

JSON的键必须使用双引号""

每组键/值对使用,分隔,且最后一个属性后面不能有逗号。

JSON的值根据数据类型的不同,有不同的表现形式

2. JSON值类型

JSON可以理解为JavaScript对象的序列化形式,JSON的值也可以理解为JavaScript对象的值。但并不是JavaScript对象的所有值都可以JSON值中表现,JSON中的值类型有:

数字Number类型(整数或浮点数)

字符串类型(String),需要包在双引号""

null

布尔类型(true或false)。

数组(Array),需要包在方括号[]中

对象(子JSON),需要包在大括号{}中

以上5种数据类型都可以JSON中使用。JSON数据值也有所限制,除上面的数据类型外,如:JavaScript中的函数(Function)、二进制类型等都不能在JSON中使用。

3. JavaScript中的JSON对象

3.1eval()函数与JSON对象

ECMAScipt 5之前,可以使用eval()函数将JSON字符串转换为JavaScript的Object。

ECMAScipt 5中增加了JSON,相比eval()函数,JSON对象处理JSON数据更为方便和准确。

如,分别使用eval()和JSON处理Unicode编码数据:

var code = '"\u2028\u2029"';

JSON.parse(code); // 正常执行

eval(code); // 执行失败

3.2JSON对象中的方法

JSON对象使用非常简单,该对只提供了两个对象方法,分别用于将对象序化为JSON字符串和将JSON字符串反序列化为JavaScriptObject。

JSON.parse(),解析JSON字符串,并返回解析值(JavaScript对象)。

JSON.stringify(),序列化JavaScript对象,并返回序列化后的JSON字符串。返回值只包含合法的JSON值,不合法的值将被丢弃。

如,使用JSON.stringify()序列化一个JavaScript对象:

var site = {

name:'IT笔录',

domain:'www.itbilu.com',

get: function () {

return this.name;

}

}

JSON.stringify(site); // {"name":"IT笔录","domain":"www.itbilu.com"}

如上所示,function是不合法的JSON值,JSON.stringify()序列化时将其丢弃。

使用JSON.parse()解析JSON字符串:

var jsonString = '{"name":"IT笔录","domain":"www.itbilu.com"}';

JSON.parse(jsonString); // { name: 'IT笔录', domain: 'www.itbilu.com' }

相关文章

  • json

    Json Notation标记Json数据格式(JavaScript Obkect Notation)JS对象标记...

  • JSON简介

    javascript的对象符号数据格式,简称JSON,是从Javascript的字面值中衍生出来的。这使得JSON...

  • 18_day ajax 和jsonp

    json: json是类似于javascript对象的一种数据格式; json格式的数据: {"name":'to...

  • json和jsonp

    json: json是类似于javascript对象的一种数据格式; json格式的数据: {"name":'to...

  • JSON

    json json是类似于javascript对象的一种数据格式;json格式的数据:{"name":'tom',...

  • JSON

    json json是类似于javascript对象的一种数据格式;json格式的数据:{"name":'tom',...

  • ajax 和jsonp

    json: json是类似于javascript对象的一种数据格式; json格式的数据: {"name":'to...

  • ajax和 jsonp

    json: json是类似于javascript对象的一种数据格式; json格式的数据: {"name":'to...

  • ajax和 jsonp

    json: json是类似于javascript对象的一种数据格式;json格式的数据:{"name":'tom'...

  • 2018-07-27 知识点总结

    json json是类似于javascript对象的一种数据格式; json格式的数据: {"name":'tom...

网友评论

      本文标题:JSON数据格式与JavaScript中的JSON对象

      本文链接:https://www.haomeiwen.com/subject/kiifextx.html