JavaScript 中使用JSON.Stringify

Posted by cl9000 on May 14, 2020

在事情成功之前,一切总看似不可能。——<纳尔逊·曼德拉>

假设存在一个对象,其属性为“ prop1”,“ prop2”,“ prop3”。我们可以将其他参数传递给JSON.stringify,以选择性地将对象的属性写入字符串,例如:

1
2
3
4
5
6
7
8
9
10
11
12
var obj = {
'prop1': 'value1',
'prop2': 'value2',
'prop3': 'value3'
};

var selectedProperties = ['prop1', 'prop2'];

var str = JSON.stringify(obj, selectedProperties);

// str
// {"prop1":"value1","prop2":"value2"}

“str” 将只包含所选属性的信息。

我们也可以传递一个函数来代替数组。

1
2
3
4
5
6
7
8
9
10
function selectedProperties(key, val) {
// the first val will be the entire object, key is empty string
if (!key) {
return val;
}
if (key === 'prop1' || key === 'prop2') {
return val;
}
return;
}

它接受的最后一个可选参数是修改将对象写入字符串的方式。

1
2
3
4
5
6
7
8
var str = JSON.stringify(obj, selectedProperties, '\t\t');

/* str output with double tabs in every line.
{
"prop1": "value1",
"prop2": "value2"
}
*/

参考

关注【公众号】,了解更多。



支付宝打赏 微信打赏

赞赏一下 坚持原创技术分享,您的支持将鼓励我继续创作!