0
我正在研究如何将POJO序列化为json字符串。我正在使用杰克逊库并遇到问题。将类成员序列化为JSON对象
在JSON对象的值可以是一个字符串或字符串数组是这样的...
{"mimeTypes":"all"}
或
{"mimeTypes":["application/pdf", "application/msword"]}
这是我此刻的
@JsonIgnore
private String mimeTypes;
@JsonIgnore
private String[] mimeTypesArray;
@JsonRawValue
@JsonProperty("integration/enabled-mime-types")
private String mimeType;
public void setMimeTypes(String mimeTypes) {
this.mimeTypes = mimeTypes;
mimeType = mimeTypes;
}
public void setMimeTypes(String[] mimeTypes) {
this.mimeTypesArray = mimeTypes;
try {
JSONArray jsonArray = new JSONArray(mimeTypes);
this.mimeType = jsonArray.toString();
} catch (JSONException e) {
e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates.
}
}
方法
基本上我有一个字符串字段,一个字符串数组的字段,以及一个字符串字段,我想添加到t他是json的对象。我在setter上串行化,所以对象映射器不必选择使用哪个字段。
这种感觉就像是一种拙劣的做事方式。会有更好的解决方案吗?我一直在阅读关于使用杰克逊视图,但我不知道这是否可能为我的问题。
它与可变参数很好地工作。感谢那! – jiduvah 2012-08-08 15:34:02
我刚刚意识到可变参量并不适用于反序列化 – jiduvah 2012-08-14 09:45:07