JavaScript 之 JSON [4] parse()和stringify() -JSON字符串和JavaScript对象数据之间的相互转换
Posted 滔 Roy
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaScript 之 JSON [4] parse()和stringify() -JSON字符串和JavaScript对象数据之间的相互转换相关的知识,希望对你有一定的参考价值。
JavaScript 之 JSON [4] parse()和stringify() -JSON字符串和JavaScript对象数据之间的相互转换
1、JSON.parse()
JSON.parse()方法用于将一个JSON字符串解析为一个JavaScript对象。JSON字符串必须使用双引号包括属性名和字符串值,不能使用单引号或无引号。
语法:
JSON.parse(text, reviver)
参数:
- text: 必须,要转换成JavaScript对象的JSON字符串。
- reviver: 可选,是一个函数,用来在返回之前对所得到的对象执行变换。
示例:
const jsonString = \'"name": "滔Roy", "date": "2023.04.14", "other": [12, "TaoRoy", null, true]\';
const jsonObject = JSON.parse(jsonString);
console.log(jsonObject.name); // 输出:滔Roy
console.log(jsonObject.date); // 输出:2023.04.14
console.log(jsonObject.other); // 输出:[12, "TaoRoy", null, true]
2、JSON.stringify()
JSON.stringify()方法用于将JavaScript对象转换为JSON字符串。JSON.stringify()可以接收3个参数,其中前两个是必选参数,第三个是可选的。
语法:
JSON.stringify(value, replacer, space)
参数:
- value: 必须,要转换成JSON字符串的JavaScript对象。
- replacer: 可选,是一个函数或数组,用于控制序列化过程中对象的哪些属性被包含在JSON字符串中。
- space: 可选,用于控制缩进,可以是一个数字或字符串。
示例:
const jsonObject = //对象
"name":"滔Roy",
"date":"2023.04.14",
"other":[12,"TaoRoy",null,true] //数组
;
const jsonString = JSON.stringify(jsonObject);
console.log(jsonString); // 输出:"name":"滔Roy","date":“2023.04.14”,"other":[12,"TaoRoy",null,true]
// 使用replacer参数过滤掉other属性
const jsonString2 = JSON.stringify(jsonObject, ["name", "date"]);
console.log(jsonString2);
// 输出:"name":"滔Roy","date":“2023.04.14”
// 使用replacer参数将值转换为大写
const jsonString3 = JSON.stringify(jsonObject, (key, value) =>
if (typeof value === "string")
return value.toUpperCase();
return value;
);
console.log(jsonString3); // 输出:"name":"TAOROY","date":"2023.04.14","other":[12,"TAOROY",2023,true]
// 使用space参数增加缩进
const jsonString4 = JSON.stringify(jsonObject, null, 2);
console.log(jsonString4);
// 输出:
//
// "name": "TaoRoy",
// "date": "2023.04.14",
// "other": [
// 12,
// "TaoRoy",
// 2023,
// true
// ]
//
注意:JSON.stringify()方法只能序列化可枚举的自有属性。如果要序列化一个对象的原型属性和方法,需要使用自定义的序列化函数。
创建时间:2023.04.14 更新时间:
博客园 滔Roy https://www.cnblogs.com/guorongtao 希望内容对你有所帮助,谢谢!
javascript pass de props par navlink
以上是关于JavaScript 之 JSON [4] parse()和stringify() -JSON字符串和JavaScript对象数据之间的相互转换的主要内容,如果未能解决你的问题,请参考以下文章
JavaScript中 JSON对象 和 JSON字符串 的相互转化
JavaScript扁平数组结构转换成JSON树形结构无限极forEachpushchildren