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);

相关文章
相关标签/搜索