web工程中如何將大量數據從伺服器端傳送到瀏覽器一直是很重要的一個問題。 其中一個解決方法是在伺服器端將將數據封裝成json格式,然後傳給前臺。廢話不多說,下麵講乾貨。 1.要用json必須下載一個庫和必須的依賴項。 2.導入到eclipse/myeclopseweb工程中web-inf/lib中。 ...
web工程中如何將大量數據從伺服器端傳送到瀏覽器一直是很重要的一個問題。
其中一個解決方法是在伺服器端將將數據封裝成json格式,然後傳給前臺。廢話不多說,下麵講乾貨。
1.要用json必須下載一個庫和必須的依賴項。
json-lib-2.3-jdk15.jar commons-beanutils-1.7.0.jar commons-httpclient-3.1.jar commons-lang-2.3.jar commons-logging-1.0.4.jar commons-collections-3.1.jar ezmorph-1.0.3.jar 這些包可以從一下地方下載: http://commons.apache.org/index.html http://json-lib.sourceforge.net/ http://ezmorph.sourceforge.net/ http://www.docjar.com/
2.導入到eclipse/myeclopseweb工程中web-inf/lib中。
3.java源代碼中引用包,註意json有兩種,一種是org.下的,一種是net.sf下的,上面下載的是net.sf。註意兩種的使用方法不完全一樣,方法有些不一樣。
4.實例
package test; import java.util.ArrayList; import net.sf.json.*; public class test { public String Name; public int Age; public String getName() { return Name; } public void setName(String name) { Name = name; } public int getAge() { return Age; } public void setAge(int age) { Age = age; } public static void main(String[] args){ ArrayList<test> tests=new ArrayList<test>(); test s=new test(); s.setAge(12); s.setName("小明"); tests.add(s); s.setAge(13); s.setName("小強"); tests.add(s); JSONArray json1=JSONArray.fromObject(tests); System.out.println(json1.toString()); } }
可以通過.fromObject()方法將一個對象或者集合進行轉換,為json格式數據,toString方法輸出成字元串形式,然後在js代碼中eval內置函數進行轉換,註意括弧,避免出錯,然後就變成js格式數據了。
##:註意只能對簡單數據類型進行轉換,自定義的和複雜的都需要手動操作。比如date類。
更詳細的用法參見:http://swiftlet.net/archives/category/json