POJO를 JSON 문자열로 직렬화하는 방법을 연구 중입니다. 잭슨 라이브러리를 사용하고 있으며 문제가 발생했습니다.클래스 멤버를 JSON 객체로 직렬화하기
json으로 개체의 값 중 하나를 수행 할 수 있습니다 문자열이나 그렇게 같은 문자열 배열 ...이 순간
@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.
}
}
에서 나의 접근 방식은
{"mimeTypes":"all"}
또는
{"mimeTypes":["application/pdf", "application/msword"]}
입니다 수
기본적으로 문자열 필드, 문자열 배열 필드 및 t에 추가 할 문자열 필드가 있습니다. 그는 json 개체. setter에서 serialize를 수행하므로 오브젝트 매퍼는 사용할 필드를 선택할 필요가 없습니다.
이것은 일을하는 해커 같은 느낌입니다. 더 나은 해결책이있을 것입니까? 나는 jackson 전망을 사용하는 것에 대해 읽고 있었지만 이것이 나의 문제에 대해 가능한지 확실하지 않다.
그것은 가변 인자와 함께 잘 작동합니다. 고마워! – jiduvah
나는 방금 변형이 deserialisation과 함께 작동하지 않는다는 것을 깨달았다. – jiduvah