伟大的通信使者——JSON(JavaScript版本)

  JSON(JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式。它基于 ECMAScript 规范的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。(摘自百科)

  在前端开发中,JSON数据可以作为一个结构体存储复杂的结构关系,在此基础上实现前后台的数据交互,不管怎样,掌握JSON的结构和转换时不可或缺的。

一、JSON格式

  JSON有两种结构:对象、数组。对象是以键值对的形式表示,比如:

var jsonObj={
    key1: "value1",
    key2: "value2",
    key3: "value3"
}

  而数组是以“[]”包裹若干个“{}”的形式表示,比如:

var jsonArray = [
    {"a":"hello"},
    {
        "b":"nice",
        "c":"to"
    },      
     {
        "d":"meet",
        "e":"you"
    } 
]

二、JSON的访问

  从JSON的构成可以看出来,可以使用"."或者“[]”来获取或者增加json数据里的具体某个值。比如:

console.log(jsonObj.key1);  //value1
console.log(jsonObj["key2"]);  //value2
//增加新数据
jsonObj["key4"]="value4";
console.log(jsonObj.key4);    //value4
//修改数据
jsonObj.key3="value0";
console.log(jsonObj["key3"]);   //value0
//删除数据
delete jsonObj["key1"];
console.log(jsonObj); 
//{key2: "value2", key3: "value0", key4: "value4"}
//遍历数据
for(var key in jsonObj){
     console.log(key);   
}
//key2
//key3
//key4

三、JSON数据的转换

1.JSON对象转换成JSON字符串

//方法一:JSON.stringify(jsonobj);
JSON.stringify(jsonobj); //可以将json对象转换成json对符串 
//"{"key2":"value2","key3":"value0","key4":"value4"}"

//方法二:jsonObj.toJSONString(); 
jsonObj.toJSONString(); 
//"{"key2":"value2","key3":"value0","key4":"value4"}"

 

2.JSON字符串转换成JSON对象

//方法一:JSON.parse(str)
var jsonStr='{"key2":"value2","key3":"value0","key4":"value4"}';
JSON.parse(jsonStr);
// Object  {key2: "value2", key3: "value0", key4: "value4"}

//方法二:eval
var jsonObj = eval('(' + jsonStr + ')');
// Object  {key2: "value2", key3: "value0", key4: "value4"}

//方法三: jsonStr.parseJSON()
var jsonObj = jsonStr.parseJSON();
// Object  {key2: "value2", key3: "value0", key4: "value4"}

 

四、网址和json2.js下载使用

https://github.com/douglascrockford/JSON-js

posted @ 2017-05-02 22:55  mini_fan  阅读(333)  评论(0编辑  收藏  举报