一、将JSON对象转换成字符串
将JSON对象转换成字符串的方法有两种,分别是使用JSON.stringify和JSON.parse函数。
1、JSON.stringify函数
JSON.stringify函数可以将一个JavaScript对象转换成一个JSON字符串。使用该函数时,需要注意以下几个方面:
① 支持的数据类型:使用该函数时,需要注意所使用的JavaScript对象中只能包含以下数据类型:null、string、number、boolean、array、object。如果JavaScript对象中包含Function或者Undefined类型,那么在使用JSON.stringify函数时会自动忽略这些数据类型。
② 字符串化选项(可选参数):JSON.stringify函数可以接受两个可选参数,第二个参数用于控制如何转换JavaScript对象的属性值、属性类型。以下为常用选项:
// 定义JavaScript对象 var obj = { name: 'jack', age: 20, grade: null } // 将obj转换成一个JSON字符串 JSON.stringify(obj); /* 返回的结果为: * "{"name":"jack","age":20,"grade":null}" * 字符串中的属性名用双引号包含,属性值可以是null、数字、布尔值、字符串。 */
2、JSON.parse函数
JSON.parse函数可以将一个JSON字符串转换成一个JavaScript对象,使用该函数时,需要注意以下几个方面:
① 支持的数据类型:使用该函数时,需要注意JSON字符串中只能包含以下数据类型:null、string、number、boolean、array、object。
② 字符串解析选项(可选参数):JSON.parse函数可以接受两个可选参数,第二个参数用于控制如何解析一个JSON字符串。常用选项与JSON.stringify函数的字符串化选项一致。
// 定义JSON字符串 var jsonStr = '{"name":"jack","age":20,"grade":null}'; // 将jsonStr转换成一个JavaScript对象 JSON.parse(jsonStr); /* 返回的结果为: * { name: 'jack', age: 20, grade: null } */
二、JSON字符串转换为数组
将JSON字符串转换为数组有两种方式,分别是使用JSON.parse函数和JavaScript原生方法split()函数。
1、使用JSON.parse函数
// 定义JSON字符串 var jsonStr = '[1,2,3,4,5]'; // 将jsonStr转换成一个JavaScript数组 JSON.parse(jsonStr); /* 返回结果: * [1, 2, 3, 4, 5] */
2、使用JavaScript原生方法split()函数
// 定义JSON字符串 var jsonStr = '[1,2,3,4,5]'; // 将jsonStr转换成一个JavaScript数组 jsonStr.split(',').map(function(item) { return parseInt(item); }); /* 返回结果: * [1, 2, 3, 4, 5] */
三、JSON字符串转换为对象
将JSON字符串转换成JavaScript对象与将JavaScript对象转换成JSON字符串的方法相同,都可以使用JSON.parse函数,具体使用方法参考第一小节。
四、Map转换为JSON字符串
Map对象可以使用第一小节提到的JSON.stringify函数将其转换成JSON字符串。需要注意的是,在转换过程中,Map对象被当作对象来处理,key值为字符串。以下为示例代码:
// 定义Map对象 var testMap = new Map(); testMap.set('name', 'jack'); testMap.set('age', 20); testMap.set('grade', null); // 将Map对象转换成JSON字符串 JSON.stringify(Object.fromEntries(testMap.entries())); /* 返回结果: * "{"name":"jack","age":20,"grade":null}" */
五、字符串转换为JSONObject
在JavaScript中,字符串可以直接通过eval()函数或者Function构造函数转换成JavaScript对象。但是这种方法存在严重的安全隐患,不推荐使用。如果需要将一个字符串解析成JavaScript对象,可以使用JSON.parse函数,具体使用方法参考第一小节。
六、List转换为JSON字符串
将List对象转换成JSON字符串可以通过以下方式:
// 定义List对象 var testList = [1, 2, 3, 4, 5]; // 将List对象转换成JSON字符串 JSON.stringify(testList); /* 返回结果: * "[1,2,3,4,5]" */
七、字符串转换成JSON数据
在JavaScript中,将字符串转换成JSON数据可以使用JSON.parse函数,具体使用方法参考第一小节。
八、String转换成JSON格式
在JavaScript中,String对象可以使用JSON.stringify函数转换成一个JSON字符串,具体使用方法参考第一小节。