Spring Resttemplate将Object解析为String

时间:2017-11-06 09:17:54

标签: java json spring resttemplate

我有以下型号:

public class MyObj implements Serializable {

        private Long id;

        private Object body;
        ..........

        public Object getBody() {
            return body;
        }

        public void setBody(Object body) {
            this.body = body;
        }

        public Long getId() {
            return id;
        }

        public void setId(Long id) {
            this.id = id;
        }

        ............

}

body字段包含一个JSON对象。

当我尝试将MyObj作为请求发送到POST端点时,如下所示:

restTemplate().postForObject("url",myObj,String.class);

将发送以下请求:

{
                "id": 6,
                "body": "{\"Status: \":\"1\",\"Date: \":\"2017-9-12 11:3:51.328\",\"Source: \":\"xxx\", .....}",
                ......
}

这不是我想要的结果,因为我希望将它解析为String,而我希望它像这样被解析:

{
                "id": 6,
                "body": {"Status": "1", "Date": "2017-10-3 16:39:58.591", "Source": "xxx"},
                ......
}

任何帮助表示感谢。

1 个答案:

答案 0 :(得分:0)

解决方案如下:

@JsonRawValue
private Object body;