JSON(JavaScript Object Notation,JavaScript對象表示法)基本概念及其屬性和方法

更好的理解JSON及其屬性和方法

主要內容:

一、一種數據格式,JSON不從屬於JavaScript。

二、JSON能夠表示如下三種結構的數據:

  一、簡單值:字符串的區別在於必須使用雙引號,單引號會致使錯誤

    如:5或者"hello World!"json

  二、對象:表示一組無序的鍵值對,固然均可以嵌套

    注意區分js對象字面量與JSON對象。數組

JS對象字面量:固然也能夠給屬性名加""
var person = {
  name:"dadaoshenyi",
  age:"25"  
}

JSON對象表示:
{
  "name":"dadaoshenyi",
  "age":"25"  
}

  三、數組:表示一組有序的值的列表

JS數組字面量:
var values = [25 ,"hi",true];

JSON數組表示:一樣的語法,固然數組之中能夠嵌套對象
[25 ,"hi",true]

多層嵌套的數據結構最經常使用,以下表示返回的data

{
    "name":"dadaoshenyi",
    "list":[{
         "title":"title1",
         "pic":"url1"
    },{
         "title":"title2",
         "pic":"url2"
    },
    ...],
    "age":"25",
    ...
}

三、JSON的解析與序列化:

使用與js對象同樣的方法來獲取屬性值。數據結構

早起的JSON解析器都是使用JavaScript的eval()函數。函數

ES5對JSON的解析進行了規範,定義了全局對象JSON。url

主要方法兩個以下:spa

JSON.stringify(value [, replacer] [, space]);將原生js值轉化爲JSON字符串。

value: 要轉換的原生js值;code

replacer:過濾條件,能夠是一個值,也能夠是個函數;對象

space:能夠是一個數字表示縮緊的空格數,也能夠是製表符如"--"。除了好看一點彷佛沒有用途。blog

JSON.parse(text [, reviver]);將JSON字符串轉化爲原生js值。

text:要解析的jsonText文本;ip

reviver:還原函數,對結果的每一個鍵值對都調用一次。

var jsonStr = JSON.stringify({
    name:"dadaoshenyi",
    list:[{
         title:"title1",
         pic:"url1"
    },{
         title:"title2",
         pic:"url2"
    }],
    age:"25"
});

console.log(jsonStr);

var obj = JSON.parse(jsonStr);

console.log(obj);

相關文章
相關標籤/搜索