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

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

主要内容:

1、一种数据格式,JSON不从属于JavaScript。

2、JSON可以表示以下三种结构的数据:

  1、简单值:字符串的区别在于必须使用双引号,单引号会导致错误

    如:5或者"hello World!"

  2、对象:表示一组无序的键值对,当然都可以嵌套

    注意区分js对象字面量与JSON对象。

JS对象字面量:当然也可以给属性名加""
var person = {
  name:"dadaoshenyi",
  age:"25"  
}

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

  3、数组:表示一组有序的值的列表

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

JSON数组表示:同样的语法,当然数组之中可以嵌套对象
[25 ,"hi",true]

多层嵌套的数据结构最常用,如下表示返回的data

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

3、JSON的解析与序列化:

使用与js对象一样的方法来获取属性值。

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

ES5对JSON的解析进行了规范,定义了全局对象JSON。

JSON(JavaScript Object Notation,JavaScript对象表示法)基本概念及其属性和方法_第1张图片

主要方法两个如下:

JSON.stringify(value [, replacer] [, space]);将原生js值转化为JSON字符串。

value: 要转换的原生js值;

replacer:过滤条件,可以是一个值,也可以是个函数;

space:可以是一个数字表示缩紧的空格数,也可以是制表符如"--"。除了好看一点似乎没有用途。

JSON(JavaScript Object Notation,JavaScript对象表示法)基本概念及其属性和方法_第2张图片

JSON.parse(text [, reviver]);将JSON字符串转化为原生js值。

text:要解析的jsonText文本;

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

JSON(JavaScript Object Notation,JavaScript对象表示法)基本概念及其属性和方法_第3张图片

转载于:https://www.cnblogs.com/changyangzhe/p/5756597.html

你可能感兴趣的:(JSON(JavaScript Object Notation,JavaScript对象表示法)基本概念及其属性和方法)