js从cookie中取出了一段json字符串,是string型, 就像这样
var json={"name":"rand","sex":"boy"};
如何转成对象,用obj.name的方式去取得json中的数据?
我一直是使用eval(string)的方法。但是这样据说不安全,有没有更加优雅的方式?
这里写两个最简洁的办法,也可以额外构造一个JSON解析函数
var json= '{"name":"rand","sex":"boy"}';
// 老式浏览器可能不行
var parse1 = JSON.parse(json);
// 通吃所有浏览器
var parse2 = (new Function('return ('+json+')'))();
php
var obj = JSON.parse('{"name":"rand","sex":"boy"}'); console.log(obj.name);//rand 老浏览器见https://github.com/douglascrockford/JSON-js
用JSON.parse(str)
进行转换。
javascript
var str = '{"name":"wenzi", "age":24, "sex":"male"}'; var student = JSON.parse(str); // {name: "wenzi", age: 24, sex: "male"} console.log(student.name);