简介
//JSON.stringify() 方法用于将 JavaScript 值转换为 JSON 字符串。
//JSON.stringify()【从一个对象中解析出字符串】
1. JSON.stringify(obj/arr)
//JSON.parse()【从一个字符串中解析出json对象】
//JSON.parse() 方法用于将一个 JSON 字符串转换为对象。
2. JSON.parse(json)
JSON.parse(text[, reviver])
text:必需, 一个有效的 JSON 字符串。
reviver: 可选,一个转换结果的函数, 将为对象的每个成员调用此函数。
JSON.stringify(value[, replacer[, space]])
value:必需, 要转换的 JavaScript 值(通常为对象或数组)。
replacer:可选。用于转换结果的函数或数组。
如果 replacer 为函数,则 JSON.stringify 将调用该函数,并传入每个成员的键和值。使用返回值而不是原始值。如果此函数返回 undefined,则排除成员。根对象的键是一个空字符串:""。
如果 replacer 是一个数组,则仅转换该数组中具有键值的成员。成员的转换顺序与键在数组中的顺序一样。
space:
可选,文本添加缩进、空格和换行符,如果 space 是一个数字,则返回值文本在每个级别缩进指定数目的空格,如果 space 大于 10,则文本缩进 10 个空格。space 也可以使用非数字,
<script type="text/javascript">
var result = JSON.parse('{"a": 1, "b": "2"}', function(key, value){
if (typeof value == 'string'){
return parseInt(value);
} else {
return value;
}
})
console.log("******结果类型*******"+ typeof result.b);
console.log("******结果*******"+result.b);
var str = {"name":"菜鸟教程", "site":"https://www.runoob.com","test":13}
var luckyNums = JSON.stringify(str, function(key, value) {
if (key == "test") {
return 22222;
} else {
return value;
}
}, 2);
console.log("******stringify转换后结果******"+luckyNums);
</script>
<script type="text/javascript">
var obj = {
name : 'kobe',
age : 39
};
obj = JSON.stringify(obj);
console.log( "stringify转换后的类型"+typeof obj);
console.log( "stringify转换后的结果"+ obj);
var objNew = JSON.parse(obj);
console.log("parse转换后的类型"+typeof objNew);
console.log("parse转换后的结果见下面");
console.log(objNew);
</script>
参考