- data = data === "true" ? true :
- data === "false" ? false :
- data === "null" ? null :
- rnum.test( data ) ? parseFloat( data ) :
- data;
+ try {
+ data = data === "true" ? true :
+ data === "false" ? false :
+ data === "null" ? null :
+ rdigit.test( data ) && !isNaN( data ) ? parseFloat( data ) :
+ rbrace.test( data ) ? jQuery.parseJSON( data ) :
+ data;
+ } catch( e ) {}