在数据传输过程中,JSON以文本(字符串)的形式传递,而JS操作的是JSON对象,所以在用JS操作JSON数据时需要先将JSON的字符串解析为对象。
- #JSON字符串
- var json = ' [{ "id": "1", "name": "zs" },{ "id": "2", "name": "ls" }] ';
- #JSON对象
- var json = [{ "id": "1", "name": "zs" },{ "id": "2", "name": "ls" }];
JSON字符串仅仅只是一个字符串,一个整体,不截取的话没办法取出其中存储的数据,不能直接使用,除非只想alert()它;
JSON对象是直接可以使用JQuery操作的格式。
JSON字符串转换为JSON对象
1.使用jquery的eval函数解析:
- var json = '[{ "id": "1", "name": "zs" },{ "id": "2", "name": "ls" }]';
- var obj = eval('(' + json + ')'); #试过直接 var obj = eval( json );也可以
2.使用jquery.parseJSON()解析:
- var json = '[{ "id": "1", "name": "zs" },{ "id": "2", "name": "ls" }]';
- var obj = jQuery.parseJSON(json); #或者var obj = $.parseJSON(json);
3.使用JSON.parse()函数解析
- var json = '[{ "id": "1", "name": "zs" },{ "id": "2", "name": "ls" }]';
- var obj = JSON.parse(json);
PS:使用第二、第三种方法时,要转换的JSON字符串必须严格按照JSON的格式,否则或出现类似:Uncaught SyntaxError: Unexpected token u这样的错误!