首页 » JavaScript » json深入理解和使用(JavaScript 对象标记语言)

json深入理解和使用(JavaScript 对象标记语言)

2017-04-13 18:20:19阅读(226)

一、简单介绍

 json(JavaScript Object Notation, JS 对象标记) (JavaScript 对象标记语言)  是一种轻量级的数据交换格式。
 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。 
 JSON是JS对象的字符串表示法,它使用文本表示一个 JS 对象的信息,本质是一个字符串。
 简单地说JSON可以将 JavaScript对象中表示的一组数据转换为字符串,
 然后就可以在网络或者程序之间轻松地传递这个字符串,并在需要的时候将它还原为各编程语言所支持的数据格式,
 例如在 PHP 中,可以将 JSON 还原为数组或者一个基本对象。

要实现从对象转换为 JSON 字符串,使用 JSON.stringify() 方法:
var json = JSON.stringify({a: ‘Hello’, b: ‘World’}); //
结果是 ‘{“a”: “Hello”, “b”: “World”}’

要实现从 JSON 转换为对象,使用 JSON.parse() 方法:
var obj = JSON.parse(‘{“a”: “Hello”, “b”: “World”}’); //结果是 {a: ‘Hello’, b: ‘World’}

二、基本规则

对象表示为键值对
数据由逗号分隔
花括号保存对象
方括号保存数组

1、表示对象
JSON最常用的格式是对象的 键值对。例如下面这样:

{"firstName": "Brett", "lastName": "McLaughlin"}

2、表示数组
和普通的 JS 数组一样,JSON 表示数组的方式也是使用方括号 []。

{    
"people":[         
{ 
"firstName": "Brett",             
"lastName":"McLaughlin"         
},          
{             
"firstName":"Jason", 
"lastName":"Hunter" 
}  
] 
}

3、嵌套 JSON 对象
JSON 对象中可以包含另外一个 JSON 对象:
实例

myObj = {
    "name":"runoob",
    "alexa":10000,
    "sites": {
        "site1":"www.runoob.com",
        "site2":"m.runoob.com",
        "site3":"c.runoob.com"
    }
}

三、json对象的属性值获取和修改

1、和java对象一样,json也能通过”.”获取对象的属性值

var myObj, x;
myObj = { “name”:”runoob”, “alexa”:10000, “site”:null };
x = myObj.name;

你也可以使用中括号([])来访问对象的值:
实例
var myObj, x;
myObj = myObj = { “name”:”runoob”, “alexa”:10000, “site”:null };
x = myObj[“name”];

2、嵌套 JSON

myObj = {
“name”:”runoob”,
“alexa”:10000,
“sites”: {
“site1”:”www.runoob.com”,
“site2”:”m.runoob.com”,
“site3”:”c.runoob.com”
}

点号(.)或者中括号([])来访问嵌套的 JSON 对象。
x = myObj.sites.site1;
// 或者
x = myObj.sites["site1"];

修改json对象属性值
myObj.sites.site1 = “www.google.com”;

myObj.sites["site1"] = "www.google.com";

删除对象属性
我们可以使用 delete 关键字来删除 JSON 对象的属性:

 delete myObj.sites.site1;
你可以使用中括号([])来删除 JSON 对象的属性:
  delete myObj.sites["site1"]

对象属性的值是一个数组时候,也可以通过通过.进行索引和删除工作。

后续json解析和Gson解析在下篇文章中详细说明。

最新发布

CentOS专题

关于本站

5ibc.net旗下博客站精品博文小部分原创、大部分从互联网收集整理。尊重作者版权、传播精品博文,让更多编程爱好者知晓!

小提示

按 Ctrl+D 键,
把本文加入收藏夹