在JQuery的许多方法中,很多方法的参数可以传入一个JSON对象,比如Ajax方法的第二个参数。怎么将文本转化成JSON对象,需要注意以下问题:
1)$.parseJSON方法返回的是一个字符串,而不是JSON对象。
2)要将字符串转化成对象,很容易想起JS中的eval方法。事实上是可以的,不过需要加上括号。如var js="{\"PageIndex\":\"1\"}";var obj=eval("("+js+")");。不过使用eval,是不安全的,因为其可以编译任何js代码。
3)下载一个JSON解析器,因为其只认可JSON文本。这样就比较安全了。JSON官方网站提供了这么一个脚本。地址:http://www.JSON.org/json2.js。使用起来比较简单,引入该文件后,如:JSON.parse($("#ctl00_ContentPlaceHolder1_hfSearch").val().toString())。
4)使用JSON.parse方法或者是$.parseJSON方法时,注意JSON数据的name和value用双引号括起来,对于$.parseJSON方法,还要将JSON字符串用单引号括起来再转换,对于JSON.parse方法,就不必了。真TMD的浪费时间。
注意这几个技巧,在操作JSON数据时,可以少走不少弯路。