jQuery.parseJSON()函数用于将格式完好的JSON字符串转为与之对应的JavaScript对象。
所谓”格式完好”,就是要求指定的字符串必须符合严格的JSON格式,例如:属性名称必须加双引号、字符串值也必须用双引号。
如果传入一个格式不”完好”的JSON字符串将抛出一个JS异常,例如:以下字符串均符合JSON格式,但它们不是格式完好的JSON字符串(因此会抛出异常):
?
1
2
3
4
|
{id: 1}
{ 'id' : 1}
{ "name" : 'CodePlayer' }
|
JSON标准不允许字符串中出现”控制字符”,例如:一个Tab或换行符。
?
1
2
3
|
$.parseJSON( '{"name": "Code\tPlayer\n"}' );
$.parseJSON( '{"name": "Code\\tPlayer\\n"}' );
|
如果浏览器提供了一个本地的JSON.parse()方法,则jQuery将使用它来解析JSON字符串。
在jQuery插件 1.9之前(不含1.9):如果传入一个空字符串、null或undefined,该函数将返回null,而不是抛出一个错误,即使它不是有效的JSON字符串。
该函数属于全局的jQuery对象。
语法
jQuery 1.4.1 新增该静态函数。
jQuery.parseJSON( jsonString ) 参数
参数 描述 jsonString String类型需要解析并转为JS对象的JSON格式字符串。 返回值
jQuery.parseJSON()函数的返回值为任意类型,返回解析指定JSON字符串后的JavaScript表示。
示例&说明
以下是与jQuery.parseJSON()函数相关的jQuery示例代码,以演示jQuery.parseJSON()函数的具体用法:
?
1
2
3
4
5
6
7
8
9
10
|
var result1 = $.parseJSON( "{}" );
var result2 = $.parseJSON( '{ "name": "CodePlayer", "age": 1 }' );
alert( result2.name );
var result3 = $.parseJSON( '[ 1, true, "CodePlayer" ]' );
alert( result3[2] );
var result4 = $.parseJSON( 'true' );
var result5 = $.parseJSON( 'null' );
var result6 = $.parseJSON( '0' );
var result7 = $.parseJSON( '"专注于编程开发技术分享"' );
var result8 = $.parseJSON( "\"专注于编程开发技术分享\"" );
|
?
1
2
3
4
5
6
7
8
9
10
11
12
|
var result9 = $.parseJSON( 100 );
var result10 = $.parseJSON( 1.23 );
var result11 = $.parseJSON( true );
var result12 = $.parseJSON( null );
var result13 = $.parseJSON( "" );
var result14 = $.parseJSON( undefined );
var result15 = $.parseJSON( "undefined" );
var result16 = $.parseJSON( "12x;xx'无效的JSON字符串x4546" );
var result17 = $.parseJSON( '{ name: "CodePlayer" , age: 1 } ' ); // 抛出错误
var result18 = $.parseJSON( ' { "name" : \ 'CodePlayer\', "age": 1 }' );
var result19 = $.parseJSON( '{ "name": "Code\tPlayer\n" }' );
|