JavsScript中JSON相关
1.JSON.parse(jsonString)
JSON.parse(jsonString):将一个JSON格式的字符串字面值,转换成JSON对象,它的逆运算方法是JSON.stringify(obj),利用它将JSON格式的对象转成字符串字面值,用于提交请求, 请留意下面例子的单引号和双引号
var str = '[{"href":"baidu.com","text":"test","orgId":123,"dataType":"curry","activeClass":"haha"}]'; JSON.parse(str);
2.JSON.stringify(obj)
3.jQuery.parseJSON(jsonString)
1).JSON.parse()是js方法,jQuery.parseJSON()是jquery方法,有的浏览器不支持JSON.parse()方法是使用jQuery.parseJSON()方法,在浏览器支持时会返回执行JSON.parse()方法的结果,否则会返回类似执行eval()方法的结果,以上结论参考jquery 1.9.1 得出.
2).jQuery.parseJSON()对json字符串字面值有严格要求,不支持单引号界定符
var result1 = "{'name':'jack','age':'23','work':'IT'}"; function pjson2() { var str = jQuery.parseJSON(result1); alert(str.name); } pjson2();//程序报错,无效字符串
查阅很多资料上面的json格式key和value对象或字符串都是采用双引号"",也就是说
var result2='{"name":"jack","age":"23","work":"IT"}';才是标准的json.
4.eval()方法
var result1 = "{name:'jack1',age:'23',work:'IT'}"; var result2 = '{name:"jack2",age:"23",work:"IT"}'; function pjson() { str = eval("(" + result1 + ")"); //OK alert(str.name); str = eval("(" + result2 + ")"); //OK alert(str.name); } pjson();