说说格式转换及序列化01

先说说常用的数据格式转化:

Array.from() 从一个类似数组或可迭代的对象中创建一个新的数组实例。

 

var json = {
    '0' : 'momei',
    '1' : '墨眉',
    '2' : 'yxh',
    length:3 
}
console.log(Array.from(json));  //返回 ["momei", "墨眉", "yxh"]

 

var str = "momei";
console.log(Array.from(str));   //返回 ["m", "o", "m", "e", "i"]

通过上面的两个实例我想你对 Array.from() 有一定的认识了。接下来再看看:

var json = {
    '0' : 'momei',
    '1' : '墨眉',
    '3' : 'yxh',
    length:3
}
console.log(Array.from(json));  // 返回 ["momei", "墨眉", undefined]
console.log(json);              // 返回 Object {0: "momei", 1: "墨眉", 3: "yxh", length: 3}

通过以上实例是否对 Array.from() 创建数组实例有了更清晰的认识。

 

Array.of() 方法创建一个具有可变数量参数的新数组实例,而不考虑参数的数量或类型。

var nM = Array.of('momei','yxh','pianke');
console.log(nM);               // 返回 ["momei", "yxh", "pianke"]

 此处有一个小知识点需要注意:Array.of() 和 Array 构造函数之间的区别。 

Array.of(6);          //返回 [6] 
Array.of(1, 2, 3);    //返回 [1, 2, 3]

Array(6);             //返回  [ , , , , , ]
Array(1, 2, 3);       //返回  [1, 2, 3]

以上是对Array方法一些简单探讨,对其深入的认识需通过实践来达到。

 

接下来看看序列化:

JSON.stringify(val[, replacer [, space]])  方法将一个  JavaScript 值转换为一个 JSON 字符串,如果指定了一个 replacer 函数,则可以替换值,或者如果指定了一个 replacer 数组,可选地仅包括指定的属性。

val 必需, 一个有效的 JSON 字符串。

replacer  可选, 参数是函数时,用在字符串转花钱对值做一些操作。也可以是数组。

space 可选, 在需要格式化输出时使用(使代码便于阅读) 。

 

var str = {};
str.blog = "cnblogs.com/momei";
str.name = "momei";
str.age = 26;

var stu = [];
stu[0] = "name";
stu[1] = "age";
stu[2] = "sex";

var json = JSON.stringify(str,stu,100);
//第二个参数为数组时  如果数组的value在对象中存在,那么数组的值做key,对象的值为value进行表示 
//第三个参数    最大值为10,大于10也只缩进10个字符
console.log(json);

/*
{
          "name": "Lanny",
          "age": 25
}
*/

JSON.parse(text [, reviver])  解析一个JSON字符串,构造由字符串描述的JavaScript值或对象。

text 要解析的字符串。

reviver 用来处理解析至的可选函数。

JSON.parse('[1, 5, "false"]');                     // [1, 5, "false"]
var str = '{"name":"momei","blog":"cnblogs.com/momei"}';
console.log(JSON.parse(str));                    //Object {name: "momei", blog: "cnblogs.com/momei"}
var str = {"name":"momei","blog":"cnblogs.com/momei"};
console.log(JSON.parse(JSON.stringify(str)));    //Object {name: "momei", blog: "cnblogs.com/momei"}

 

以上就是一些对格式转换及序列化简单的理解和认识,由浅入深再续...

 

posted @ 2017-08-11 00:01  0_0墨眉  阅读(126)  评论(0编辑  收藏  举报