js数组、对象与字符串互转
2016-08-26 18:25
225 查看
JSON.stringify 函数:数组(对象)/对象转化为字符串
语法JSON.stringify(obj/Array [, replacer] [, space])
示例1
此示例使用 JSON.stringify 将 contact 对象转换为 JSON 文本。 定义 memberfilter 数组以便只转换 surname 和 phone 成员。 省略 firstname 成员。最后的\t(space)参数,感觉没什么实际用处,只是输出格式更易读吧。
<sctipt> var contact = new Object(); contact.firstname = "Jesper"; contact.surname = "Aaberg"; contact.phone = ["555-0100", "555-0120"]; var memberfilter = new Array(); memberfilter[0] = "surname"; memberfilter[1] = "phone"; var jsonText = JSON.stringify(contact, memberfilter, "\t"); console.log(jsonText); </script>
结果如下
如果没有后面的\t,则输出为一行
示例2
此示例将 JSON.stringify 与一个数组一起使用。 replaceToUpper 函数将数组中的每个字符串转换为大写形式。
<sctipt> var continents = new Array(); continents[0] = "Europe"; continents[1] = "Asia"; continents[2] = "Australia"; continents[3] = "Antarctica"; continents[4] = "North America"; continents[5] = "South America"; continents[6] = "Africa"; var jsonText = JSON.stringify(continents, replaceToUpper); //Output: // "EUROPE,ASIA,AUSTRALIA,ANTARCTICA,NORTH AMERICA,SOUTH AMERICA,AFRICA" function replaceToUpper(key, value) { return value.toString().toUpperCase(); } </script>
JSON.parse 函数:字符串转换为对象
语法JSON.parse(jsonText [, reviver])
<script> var jsontext = '{"firstname":"Jesper","surname":"Aaberg","phone":["555-0100","555-0120"]}'; var contact = JSON.parse(jsontext); document.write(contact.surname + ", " + contact.firstname); // Aaberg, Jesper document.write(contact.phone[0]); // 555-0100 </script>
<script> var arr = ["a", "b", "c"]; var str = JSON.stringify(arr); document.write(str); document.write ("<br/>"); var newArr = JSON.parse(str); while (newArr.length > 0) { document.write(newArr.pop() + "<br/>"); } // Output: // ["a","b","c"] // c // b // a </script>
注:如果响应的格式为 JSONP 而非纯 JSON,请在响应对象上尝试此代码:
JavaScript var fixedResponse = response.responseText.replace(/\\'/g, "'"); var jsonObj = JSON.parse(fixedResponse);
相关:小心字符串中的转义字符
参考:
JSON.stringify函数
JSON.parse函数
相关文章推荐
- JS 将变量 转化为字符串的方法, 适用于所有类型,数组, 对象,函数和基本类型等
- JS中json字符串和json对象之间的转换,PHP中json字符串和php数组之间的转换
- js 转json格式的字符串为对象或数组(前后台)的方法
- JS对象字符串数组排序
- js将form表单序列化[json字符串、数组、对象]
- JS 将变量 转化为字符串的方法, 适用于所有类型,数组, JSON对象,函数和基本类型等
- JS数组与字符串转换(包括数组中含有对象)
- js操作字符串,数组,json对象
- 从零开始学_JavaScript_系列(15)——js系列<4>(数值、字符串、对象、数组、函数、日期的基本方法)
- js数租,对象, 数组,字符串,函数,变量,int与String 型转化,String 转化为js 中内部代码,编码格式转化,<a>标签的死链接
- js将js数组或者对象转换成json字符串
- js 转json格式的字符串为对象或数组(前后台)
- js中如何把字符串转化为对象、数组示例代码
- JS:字符串、数组操作方法和算数对象(简)
- JSON是一种数据交换格式(JSON对象/JSON字符串/JSON数字/JSON数组等) -------- JSON对象是JS引擎的内置对象
- 高效的去掉js数组或者字符串中重复的对象方法
- 前台的js对象数组传到后台处理。在前台把js对象数组转化为json字符串,在后台把json字符串解析为List<>
- js将form内的表单序列化为json字符串、数组、对象
- js 中如何把一个普通的字符串转化为数组对象呢
- js 字符串转json数组对象