美文网首页
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数据格式与JavaScript中的JSON对象

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