У меня есть JSon файл, который выглядит следующим образомИсключить JSon свойство на основе определенного значения с помощью Джексоном
{
"items" : [ {
"Name" : "India",
"FullName" : "India",
"Region" : "Asia"
}, {
"Name" : "USA",
"FullName" : "United States of America",
"Region" : "Americas"
}, {
"Name" : "UK",
"FullName" : "United Kingdon",
"DisplayLabel" : "Europe"
} ]
}
Pojo класс выглядит следующим образом
Countries.java
package model;
import com.fasterxml.jackson.annotation.JsonProperty;
import javax.xml.bind.annotation.XmlElement;
public class Countries {
@XmlElement(required = true)
@JsonProperty("Name")
private String name;
@XmlElement(required = true)
@JsonProperty("FullName")
private String fullName;
@XmlElement(required = true)
@JsonProperty("Region")
private String region;
public Countries(@JsonProperty("Name") String name,
@JsonProperty("FullName") String fullName,
@JsonProperty("Region") String region) {
this.name = name;
this.fullName = fullName;
this.region = region;
}
public void setName(String name) {
this.name = name;
}
public String getName() {
return name;
}
public void setFullName(String fullName) {
this.fullName = fullName;
}
public String getFullName() {
return fullName;
}
public void setRegion(String region) {
this.region = region;
}
public String getRegion() {
return region;
}
}
Items.java
package model;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;
import java.util.List;
import javax.xml.bind.annotation.XmlElement;
@JsonIgnoreProperties(ignoreUnknown = true)
public class Items {
public Items() {
super();
}
@XmlElement(required = true)
@JsonProperty("items")
protected List<Countries> view;
public void setView(List<Countries> view) {
this.view = view;
}
public List<Countries> getView() {
return view;
}
}
I Я использую API-интерфейсы jackson. Использование ObjectMapper для сериализации json. Пример.
Items views = mapper.readValue(jsonString, Items.class);
Я не могу исключить те записи, которые имеют Регион = "Европа". Как достичь этого. Заранее спасибо.
Я думаю, вы пытаетесь использовать Джексона слишком много ... Это в первую очередь для управления трансляцией между POJO и JSON ... то, что вы хотите сделать, это логика приложения ... Просто перейдите по списку и удалите пункты ... – Adam