在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 文件,引入后就可以方便的使用这些方法了