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类。