Мне нужно скрыть конкретный ответ JSON и скрыть какой-то другой формат
Для например. Мой ввод JSON похож на
JSON1
[
{
"propertyId":10081,
"roomId":0,
"startDate":"2018-01-29T00:00:00",
"endDate":"2018-01-30T00:00:00",
"priority":1,
"message":"Test it",
"id":158,
"dateModifiedUtc":null
},
{
"propertyId":10081,
"roomId":10021855,
"startDate":"2018-01-29T00:00:00",
"endDate":"2018-01-30T00:00:00",
"priority":2,
"message":"Check how it works",
"id":159,
"dateModifiedUtc":null
},
{
"propertyId":10081,
"roomId":10021855,
"startDate":"2018-01-29T00:00:00",
"endDate":"2018-01-30T00:00:00",
"priority":2,
"message":"Check how it works",
"id":160,
"dateModifiedUtc":null
}
]
Мне нужно заменить некоторые значения для roomId, а затем преобразовать json в формат ниже и отправить его на другую конечную точку.
JSON2
{
"sitenotification":[
{
"roomid":"10601",
"priority":1,
"startdate":"2017-08-10T15:50:52+03:00",
"enddate":"2017-08-15T15:50:52+03:00",
"sitemessage":"test"
},
{
"roomid":"10601",
"priority":1,
"startdate":"2017-08-10T15:50:52+03:00",
"enddate":"2017-08-15T15:50:52+03:00",
"customermessage":"test 2"
}
]
}
Я пытался сделать это несколькими способами, такими как десериализация с использованием Джексона и сопоставление его с конкретным классом, как показано ниже.
@JsonIgnoreProperties(ignoreUnknown = true)
public class FatNotificationsAttributesDataModel {
@JsonProperty("propertyId")
public int propertyId;
@JsonProperty("roomId")
public int roomId;
@JsonProperty("startDate")
public String startDate;
@JsonProperty("endDate")
public String endDate;
@JsonProperty("priority")
public int priority;
@JsonProperty("message")
public String message;
@JsonProperty("id")
public int id;
@JsonProperty("dateModifiedUtc")
public String dateModifiedUtc;
}
а затем снова сериализовать его, используя другой класс
@JsonSerialize(using = CustomSerializer.class)
public class FinalDataModel {
public int roomId;
public String startDate;
public String endDate;
public int priority;
public String message;
}
Но почему-то конвертация не работает. Есть ли у нас лучший способ добиться этого?
Json
. Это массив изJson
элементов. Попробуйте десериализовать вArrayList<FatNotificationsAttributesDataModel>
и посмотрите, работает ли это. - person Hypnic Jerk   schedule 04.04.2018