struts2注解返回json串实现方式(序列化对象属性输出)
2017-08-07 21:28
483 查看
1.想要struts2返回json串,必须引入struts2-json-plugin-2.3.4.1.jar
2.继承json-default包
@Component
当然personList需要get/set方法。
当我们想要个别字段转换json串时,如何实现呢?
很简单,直接上源码:
@Component
@Scope("prototype")
@ParentPackage("json-default")
@Namespace("/tax/test")
@Results({
@Result(name="jsonList", type = "json", params = {"root", "personList", "includeProperties", "\\[\\d+\\], .*eid, .*name"})
})
public class TestAction extends ActionSupport {
List<Person> personList = new ArrayList<Person>(0);
@Action("test")
public String test(){
String result = "";
result = "jsonList";
try {
for (int i = 0; i < 5; i++) {
Person person = new Person(1l,"小明"+i,14l);//Person属性:eid(int),name(String),age(int)
personList.add(person);
}
System.out.println(personList.toString());
} catch (Exception e) {
e.printStackTrace();
}
return result;
}}另外如果输出的对象有继承父类,而我们想要输出父类属性时,可以添加“ignoreHierarchy”,“false”
@Result(name="jsonList2", type = "json", params = {"root", "studentList", "ignoreHierarchy", "false", "includeProperties", "\\[\\d+\\], .*eid, .*name, .*subect"}),
subect是Student类的属性,而eid,name则继承Person类而来的。
2.继承json-default包
@Component
@Scope("prototype") @ParentPackage("json-default") @Namespace("/tax/test") @Results({ @Result(name="jsonList", type = "json", params = {"root", "personList") }) public class TestAction extends ActionSupport { List<Person> personList = new ArrayList<Person>(0); @Action("test") public String test(){ String result = ""; result = "jsonList"; try { for (int i = 0; i < 5; i++) { Person person = new Person(1l,"小明"+i,14l);//Person属性:eid,name,age personList.add(person); } System.out.println(personList.toString()); } catch (Exception e) { e.printStackTrace(); } return result; }}
当然personList需要get/set方法。
当我们想要个别字段转换json串时,如何实现呢?
很简单,直接上源码:
@Component
@Scope("prototype")
@ParentPackage("json-default")
@Namespace("/tax/test")
@Results({
@Result(name="jsonList", type = "json", params = {"root", "personList", "includeProperties", "\\[\\d+\\], .*eid, .*name"})
})
public class TestAction extends ActionSupport {
List<Person> personList = new ArrayList<Person>(0);
@Action("test")
public String test(){
String result = "";
result = "jsonList";
try {
for (int i = 0; i < 5; i++) {
Person person = new Person(1l,"小明"+i,14l);//Person属性:eid(int),name(String),age(int)
personList.add(person);
}
System.out.println(personList.toString());
} catch (Exception e) {
e.printStackTrace();
}
return result;
}}另外如果输出的对象有继承父类,而我们想要输出父类属性时,可以添加“ignoreHierarchy”,“false”
@Result(name="jsonList2", type = "json", params = {"root", "studentList", "ignoreHierarchy", "false", "includeProperties", "\\[\\d+\\], .*eid, .*name, .*subect"}),
subect是Student类的属性,而eid,name则继承Person类而来的。
相关文章推荐
- springMvc 将对象json返回时自动忽略掉对象中的特定属性的注解方式
- spring -mvc 将对象 已json返回时 忽略掉对象中的属性注解方式
- spring -mvc 将对象 已json返回时 忽略掉对象中的属性注解方式
- spring mvc返回json字符串数据,只需要返回一个java bean对象就行,只要这个java bean 对象实现了序列化serializeable
- 面向对象---基于组合的继承:属性的继承基于伪装的方式实现,而方法的继承基于原型链的方式继承。
- java 的对象拷贝(有深浅拷贝两种方式,深拷贝实现的两种方式(逐层实现cloneable接口,序列化的方式来实现))
- struts2 注解方式返回json
- 解决用序列化方式实现对象拷贝时出的异常解决方法
- struts2之使用JSON插件实现Ajax(在struts.xml中处理要序列化的属性)
- android View 动态注解方式,初始化注入对象原理及实现过程
- struts2注解方式实现数据验证
- 通过Pojo对象 field 属性加注解实现格式校验,极大的降低代码量
- struts2学习之访问Servlet对象的两种实现方式
- 注解方式实现关键属性日志掩码
- JSON序列化对象时,如何返回有空值的带属性名称json字符串?
- SSH框架利用注解方式实现根据多条件动态分页查询图书信息(传对象)
- List集合中删除属性(一个或者多个属性)相同的对象返回List且根据对象属性进行排序输出
- ArrayList封装对象实现多属性同一循环输出
- .使用面向对象思想,输出员工信息并计算员工的工资。实现过程为:定义一个部门(Department)类,该类有部门编号(Id)、部门名称(Name)属性; 再定义一个员工(Employee)类,该类的属
- 通过继承来实现注解方式的属性注入