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