JSON:我有两把枪,一把叫stringify(),另一把叫parse()

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

  JSON.stringify() 方法是将一个JavaScript值(对象或者数组)转换为一个 JSON字符串,如果指定了replacer是一个函数,则可以替换值,或者如果指定了replacer是一个数组,可选的仅包括指定的属性。
value
  将要序列化成 一个JSON 字符串的值。
replacer可选
  如果该参数是一个函数,则在序列化过程中,被序列化的值的每个属性都会经过该函数的转换和处理;如果该参数是一个数组,则只有包含在这个数组中的属性名才会被序列化到最终的 JSON 字符串中;如果该参数为null或者未提供,则对象所有的属性都会被序列化。
space可选
  指定缩进用的空白字符串,用于美化输出(pretty-print);如果参数是个数字,它代表有多少的空格;上限为10。该值若小于1,则意味着没有空格;如果该参数为字符串(字符串的前十个字母),该字符串将被作为空格;如果该参数没有提供(或者为null)将没有空格。

var data = [{
            name: "程咬金",
            sex: "1",
            age: 26
        },
        {
            name: "程才",
            sex: "0",
            age: 20
        },
        {
            name: "程新松",
            sex: "1",
            age: 22
        },
        {
            name: "程功",
            sex: "1",
            age: 18
        }
    ];
var str_json = JSON.stringify(data,function(key,value){
    if(key == 'sex'){
        return ["女",'男'][value];
    }
    return value;
});
console.log(str_json);
>[{"name":"程咬金","sex":"男","age":26},
{"name":"程才","sex":"女","age":20},
{"name":"程新松","sex":"男","age":22},
{"name":"程功","sex":"男","age":18}]
  1. JSON.parse(text[, reviver])

text
一个有效的 JSON 字符串。
reviver可选
一个转换结果的函数, 将为对象的每个成员调用此函数。

JSON.parse('{"1": 1, "2": 2, "3": {"4": 4, "5": {"6": 6}}}', function(k, v) {
  console.log(k); // 输出当前属性,最后一个为 ""
  return v;       // 返回修改的值
});
>1
2
4
6
5
3

你可能感兴趣的:(JSON:我有两把枪,一把叫stringify(),另一把叫parse())