js中数组、对象与JSON之间的相互转换
墨初 前端设计 3858阅读
在js中,有时候需要对一些数据进行类型的转换,比如 js 数组转JSON,js对象转JSON,JSON转js数组,JSON转js对象等等。而今天这篇博文就详细的对js中,json类型数据与数组类型,对象类型数据之间的转换做个详细的介绍!
js对象,js数组转成 json 的方法
js对象,js数组转 json 要用到 JSON.stringify() 方法
1、js对象转json的方法
代码:
<script> var json = { "name": "墨初", "age":28 }; //创建对象; var jsonStr = JSON.stringify(json); //转为JSON字符串 console.log(jsonStr); </script>
打印结果:
{"name":"墨初","age":28}
2、JS数组转JSON的方法
代码:
<script> var arr = [1, 2, 3,'飞鸟慕鱼博客']; var jsonstr = JSON.stringify(arr); console.log(jsonstr); </script>
打印结果:
[1,2,3,"飞鸟慕鱼博客"]
3、JS对象数组转JSON方法
代码:
<script> var arr = [10, 255, 33, { a: 1 }, { b: 0 }]; var jsonstr = JSON.stringify(arr); console.log(jsonstr); </script>
打印结果:
[10,255,33,{"a":1},{"b":0}]
json 转js数组以及js对象的方法
json 转 js 数组以及 js对象要使用 JSON.parse() 方法
1、JSON转JS数组方法
代码:
<script> var jsonStr = '[1,2,3,{"a":1}]'; var jsarr = JSON.parse(jsonStr); console.log(jsarr); alert(jsarr[0]); </script>
执行结果:
//打印结果: (4) [1, 2, 3, {…}] 0: 1 1: 2 2: 3 3: {a: 1} //弹出结果: 1
2、JSON转JS对象方法
代码:
<script> var jsonString = '{"name":"lala","age":22}'; var jsObject = JSON.parse(jsonString); //转换为json对象 alert(jsObject.name); //取json中的值 </script>
执行结果:
lala
注意:
1、在早期的浏览器版本(比如IE6, IE7),是没有 JSON.stringify, JSON.parse方法的。
2、如果你想兼容一些老式的浏览器,要引入json.js 或 json2.js 文件,引入后就可以方便的使用这些方法了