gpt4 book ai didi

java - 在Struts的每个方法中自定义序列化为json的内容

转载 作者:行者123 更新时间:2023-11-29 05:57:21 24 4
gpt4 key购买 nike

我有一个 Struts 2 应用程序,我正在使用 JSON 将信息发送到基于 Ajax 的客户端。现在负载模型发生了一些变化,变得非常复杂,应用程序也太慢了。所以我需要减少在每种情况下序列化的字段。所以我有这样的东西:

使用某些方法检索对象列表的一些操作:

public class FooAction{
private List<FooObject> fooObjects;

public List<FooObject> list1(){ ... };

public List<FooObject> list2(){ ... };

}

例如模型中的这个对象。

public class FooObject{
private String foo1;
private String foo2;
private String foo3;
private String foo4;
}

在该模型中,假设我在 Ajax 的任何调用中都不需要第 4 个属性,因此我添加了 JSON 注释以避免它被序列化。

public class FooObject{
private String foo1;
private String foo2;
private String foo3;
private String foo4;

@JSON(serialize=false)
public String getFoo4(){...}
}

问题是这样的。

  • 在方法 list1() 中,我只需要 foo1foo2,所以我想避免 foo3 的序列化 就在这个方法中
  • 在方法 list2() 中,我只需要 foo1foo3,所以我想避免 foo2 的序列化就在这个方法中

所以问题是,自定义每个方法中应序列化的属性是否是一种简单的方法。如果我可以在 struts 的 xml 中自定义它,那就太好了:

<action name="list1" class="fooObject" method="list1">
<result type="json"/>
</action>

<action name="list2" class="fooObject" method="list2">
<result type="json"/>
</action>

谢谢

最佳答案

您可以查看 Customizing Serialization and Deserialization struts2 文档的一部分。我认为这会对您有所帮助。

关于java - 在Struts的每个方法中自定义序列化为json的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11557600/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com