一段字符串格式的 json 数据,怎样用 javascript 解析,获取某个 key 的 value,比如 employees.firstName 的值?
var resp = '{ "firstName": "Bill" , "lastName": "Gates" }'
用递归下降法解析
var resp = JSON.parse('{ "firstName": "Bill" , "lastName": "Gates" }');
console.log(resp.firstName) // "Bill"
如果浏览器比较旧,不支持 JSON.parse
,那就加载一个支持库,好像有一个叫 JSON3 的比较推荐。
如果使用JQuery,可以这样:
var resp = $.parseJSON('{ "firstName": "Bill" , "lastName": "Gates" }');
console.log(resp.firstName)
JSON.parse 是正解(如果用老版IE,可以用 jQuery.parseJSON ),题主采纳的答案,如果解析的是客户输入的内容,竟然直接用。
就等XSS后哭吧。。。。
有一个比较通(e)用(xin)的方法如下:
eval('('+ '{ "firstName": "Bill" , "lastName": "Gates" }' + ')')
Object {firstName: "Bill", lastName: "Gates"}
这个字符串即使是'{ firstName: "Bill" , lastName: "Gates" }' 也可以得到正确的结果。