$.parseJSON的使用规则

来源:互联网 发布:上海工银安盛软件开发 编辑:程序博客网 时间:2024/04/27 14:07

使用jquery的$.parseJSON方法必须注意,一定要完全遵守json字符串的格式,如下:

String s={"message":"当前账套并没有价税分离失败的数据,不能使用此功能继续进行日终,需查询原因","info":"1"};  正确


String s={"message":当前账套并没有价税分离失败的数据,不能使用此功能继续进行日终,需查询原因,"info":"1"};  解析报错


String s={"message":当前账套并没有价税分离失败的数据,不能使用此功能继续进行日终,需查询原因,"info":1}; 解析报错

解析:var step = $.parseJSON(s);

如果不能完全在后台组成如下格式,可以尝试使用javascript的eval方法eval('('+json+')');

当String s=[{"message":"当前账套并没有价税分离失败的数据,不能使用此功能继续进行日终,需查询原因","info":"1"}];  也是可以解析的


解析:var step = $.parseJSON(s)[0];


注意[0]在外面。


当String s=[[{"message":"当前账套并没有价税分离失败的数据,不能使用此功能继续进行日终,需查询原因","info":"1"}]];  也是可以解析的


解析:var step = $.parseJSON(s)[0][0];


注意[0]在外面。


当String s=[[0],[{"message":"当前账套并没有价税分离失败的数据,不能使用此功能继续进行日终,需查询原因","info":"1"}]];  也是可以解析的


解析:var step = $.parseJSON(s)[1][0];因为第一个不能解析,第二个可以解析,索引就是1。


注意[0]在外面。


特别注意: 1、$.parseJSON方法只能解析标准json;

        2、当解析的字符串中含有中括号时,它会默认把他当成数组解析,因为javascript是弱语言,变量赋值时会自动判断类型并进行转换,但一定不要写成 var step = $.parseJSON(s[1][0]),这样会直接报错。

0 0