我采用的是直接设置值的方式,其实可以从后台查询,但是为了演示清楚,从后台查询的值一般都是存放到一个数组中,无法看清楚里面的内容。这样会更加直观。我在jsonText.java设置了三个字段:pid、pname、page和构造方法。
在此用构造方法为其赋值,并把他们存到数组jsonlist 中。如下所示:
List<jsonText> jsonlist = new ArrayList<jsonText>();
jsonText p1 = new jsonText(1,"张三",18);jsonText p2 = new jsonText(2,"李四",20);
jsonText p3 = new jsonText(3,"王五",22);
jsonText p4 = new jsonText(4,"赵六",19);
jsonlist.add(p1);
jsonlist.add(p2);
jsonlist.add(p3);
jsonlist.add(p4);
jsonConfig的对象可以设置过滤字段,只需使用它的setExcludes方法即可。此处设置过滤掉pid和page。如下所示:
config.setExcludes(new String[]{"pid","page"});
向jsp传输时,要把设置的过滤字段放到传输数组的后面。如下所示:
JSONArray json = JSONArray.fromObject(jsonlist,config);
out.print(json.toString());
测试:
System.out.println("xxxxxxxxxxxxxxx");
测试结果:
[{"pname":"张三"},{"pname":"李四"},{"pname":"王五"},{"pname":"赵六"}]
xxxxxxxxxxxxxxx