JSON.parse()与JSON.stringify()的用法

JSON.parse()方法可以将一个JSON字符串解析成为一个JavaScript值。在解析过程中,还可以选择性的篡改某些属性的原始解析值。

语法

JSON.parse(text[, reviver])

 参数

text

要解析的JSON字符串,可以查看JSON一文了解JSON的语法。

reviver

一个函数,用来转换解析出的属性值。

返回值

从text字符串解析出的一个JavaScript值。

JSON.parse('{}');              // {}
JSON.parse('true');            // true
JSON.parse('"foo"');           // "foo"
JSON.parse('[1, 5, "false"]'); // [1, 5, "false"]
JSON.parse('null');            // null

 JSON.stringify()方法可以将任意的JavaScript值序列化为JSON字符串。

语法

JSON.stringify(value[, replacer [, space]])

 参数

value

将要序列化为JSON字符串的值。

replacer

如果该参数是一个函数,则在序列化过程中,被序列化的值的每个属性都会经过该函数的转换和处理;如果该参数是一个数组,则只有包含在这个数组中的属性名才会被序列化到最终的JSON字符串中。

space

指定缩进用的空白字符串,用于美化输出。

JSON.stringify({});                        // '{}'
JSON.stringify(true);                      // 'true'
JSON.stringify("foo");                     // '"foo"'
JSON.stringify([1, "false", false]);       // '[1,"false",false]'
JSON.stringify({ x: 5 });                  // '{"x":5}'

 两者可以结合使用,用于在localStorage存储信息。

function get_storage(){
    var order_foods = {person: localStorage.getItem("person"), restaurant: localStorage.getItem("restaurant"),
        meal: localStorage.getItem("meal"), money: localStorage.getItem("money")};
    var order_foods_list = JSON.parse(localStorage.getItem("order_foods_list")) || [];
    order_foods_list.push(order_foods);
    localStorage.setItem('order_foods_list', JSON.stringify(order_foods_list));
}

猜你喜欢

转载自1025056422.iteye.com/blog/2268312