我有以下课程:
public class Student {
private Long id ;
private String firstName;
private String lastName;
private Set<Enrollment> enroll = new HashSet<Enrollment>();
//Setters and getters
}
public class Enrollment {
private Student student;
private Course course;
Long enrollId;
//Setters and Getters
}
我有Struts2控制器,我只想返回Class Student的序列化实例。
@ParentPackage("json-default")
public class JsonAction extends ActionSupport{
private Student student;
@Autowired
DbService dbService;
public String populate(){
return "populate";
}
@Action(value="/getJson", results = {
@Result(name="success", type="json")})
public String test(){
student = dbService.getSudent(new Long(1));
return "success";
}
@JSON(name="student")
public Student getStudent() {
return student;
}
public void setStudent(Student student) {
this.student = student;
}
}
它返回了带有所有子类的可序列化的学生对象,但是我只希望有一个学生对象而没有返回hashset。如何告诉Struts仅序列化对象?我确实启用了延迟加载,并且将哈希集作为代理类返回。
请参见此处的答案,其中显示了包含和排除属性的使用。我不认为该示例明确显示排除嵌套对象,但是我已将其用于此目的。如果仍然有问题,我将发布一个正则表达式来证明这一点。
编辑 :这是在注释中使用排除属性的示例,该注释会阻止嵌套成员的序列化:
@ParentPackage("json-default")
@Result(type = "json", params = {
"excludeProperties",
"^inventoryHistory\\[\\d+\\]\\.intrnmst, selectedTransactionNames, transactionNames"
})
public class InventoryHistoryAction extends ActionSupport {
...
库存历史记录是JPA实体对象的库存历史记录类型,intrnmst引用另一个表,但是由于延迟加载(如果已序列化),则在对操作进行JSON序列化时会导致Exception,因此已添加了exclude参数以防止这种情况。
注意
\\
每个\字符都需要,因此单个\只会在xml中使用(其中需要两个字符),因为要对字符串进行正确的转义。
我有一个pojo类,例如: A类Pojo: 现在,在从spring REST API返回field3时,我希望将其转换为 输入:字段3-312548 输出字段3-“312548” 为此,我编写了自定义类JsonSerializer: 自定义JsonSerializer: 如果我使用这个注释,它会在内部操作时转换它,从而导致已经编写的基于整数的逻辑失败。因此,我想以这样一种方式配置它,对于所有内部操
我有以下ORM对象(简化): 每行有: 主键 插入行时的时间戳 computed_values要存储的实际JSONB数据 JSONB来存储计算数据的日期列表。 虽然我对列没有问题,但是对象不能被SQLAlchemy JSON序列化程序序列化。 我的想法是为该列重新定义对象的序列化程序行为。要做到这一点,我必须定义自己的自定义JSON序列化程序,或者使用一些现成的序列化程序,比如orjson。因为我
问题内容: 我在Web API项目中使用了Dictionary,该项目的序列化方式类似于JSON: 因为我有重复的键,所以我不能再使用Dictionary类型,而现在我正在使用 但这是以这种方式序列化的: 有没有办法像字典一样进行序列化? 谢谢。 问题答案: 如果您使用Newtonsoft Json.NET库,则可以执行以下操作。 定义一个转换器,以所需的方式写入键/值对的列表: 然后使用转换器:
问题内容: 我正在尝试反序列化(使用gson)如下所示的JSON对象: 我该如何处理?我什至不知道该怎么称呼- 这里代表了多个“项目”,但这不是一个数组。当我尝试将其反序列化为数组时,程序在“预期的Begin_Array但找到Begin_Object”异常时崩溃。当我尝试将其反序列化为Strong对象时(请参见下面的类),程序将运行,但所有字段均返回null。 这是我尝试将其映射到的类: 完整的J
问题内容: Android是否有任何简单的示例在序列化中使用JSON? 谢谢 问题答案: 我们使用gson库。序列化就像调用一样简单 对于反序列化,
问题内容: 我正在尝试将本地对象序列化为json,但msdn文档似乎总是让我感到困惑。我相信我应该使用DataContractJsonSerializer,但不能完全确定,因为我看到了混合的响应。我也有人推荐Newtonsoft。 有没有人有任何经验可以指引我正确的方向? 问题答案: 您可以使用JavaScriptSerializer。 http://msdn.microsoft.com/zh-