Đánh giá theo nhận xét của bạn, chỉ cần tạo một tuỳ chỉnh Serializer
.
JsonSerializer
của bạn. Bạn có thể có những điều này cho từng loại đối tượng mà bạn đang cố gắng sắp xếp theo thứ tự.
public class MyObjectJsonSerializer extends JsonSerializer<MyObject> {
@Override
public Class<MyObject> handledType() {
return MyObject.class;
}
@Override
public void serialize(MyObject myObject, JsonGenerator jgen, SerializerProvider provider) throws IOException, JsonProcessingException {
jgen.writeStartObject();
jgen.writeNumberField("id", myObject.getId());
// whatever else you need
jgen.writeEndObject();
}
}
bạn ObjectMapper
.
public class MyObjectMapper extends ObjectMapper {
public MyObjectMapper() {
SimpleModule module = new SimpleModule("My Module", new Version(1, 0, 0, "SNAPSHOT"));
module.addSerializer(new MyObjectJsonSerializer());
this.registerModule(module);
}
}
Và sau đó vào mùa xuân-config.xml của bạn.
<mvc:annotation-driven>
<mvc:message-converters>
<bean class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter">
<property name="objectMapper" ref="myObjectMapper" />
</bean>
</mvc:message-converters>
</mvc:annotation-driven>
<bean id="myObjectMapper" class="com.manne.app.objectmapper.MyObjectMapper" />
Đây có thể không phải là câu trả lời bạn đang tìm kiếm, nhưng tôi cũng đã gặp vấn đề này và tôi phải giải quyết nó bằng cách viết một 'ObjectMapper' và' JsonSerializer' tùy chỉnh xử lý mối quan hệ. – bvulaj
ai cũng có thể đưa ra giải pháp cho vấn đề của tôi, điều này vẫn đang giữ sự phát triển của tôi –
Tôi thấy hai giải pháp đã được đăng. Bạn đã thử chưa? – bvulaj