Преобразование JSON в XML XmlMapper-Jackson 2.10JAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Преобразование JSON в XML XmlMapper-Jackson 2.10

Сообщение Anonymous »

У меня есть pojo с @JsonProperties. Я использую их для чтения JSON и анализа POJO. Теперь мне нужно опубликовать эти pojo в формате XML.

Требуемый формат XML для успешной публикации выглядит следующим образом (обратите внимание на тип пространства имен, форматирование типа xsi):



TestSubnet
TestSubnet
false
3
subnet
5.207.206.0
255.255.254.0


Test01Subnets
Test01Subnets
3
group




Я передаю созданный класс приложения (показанный ниже) для преобразования в XML

ObjectMapper mapper = new XmlMapper();
mapper.enable(SerializationFeature.INDENT_OUTPUT);
byte[] val = mapper.writeValueAsBytes(myApp);


Вывод немного неверный и не содержит xmlns, а xsi выглядит по-другому. У него также есть «Приложение» в качестве корня:





networkObjectGroupDTO
name
displayName
3
group






Когда я вывожу класс в JSON, он выглядит так, как ожидалось (нет «Приложения» в качестве root).

ObjectMapper mapper = new ObjectMapper();
mapper.enable(SerializationFeature.INDENT_OUTPUT);
byte[] val = mapper.writeValueAsBytes(myApp);

{
"network_objects" : {
"network_object" : [ {
"@xsi.type" : "networkObjectGroupDTO",
"name" : "name",
"display_name" : "displayName",
"application_id" : 3,
"type" : "group"
}
}
}


Что мне нужно изменить с помощью XmlMapper() или POJO, чтобы правильно отформатировать XML?

Ниже приведены POJO, используемые для этого.

Класс приложения:

@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonPropertyOrder({
"network_objects"
})
public class Application {

@JsonProperty("network_objects")
private NetworkObjects networkObjects;
@JsonIgnore
private Map additionalProperties = new HashMap();

@JsonProperty("network_objects")
public NetworkObjects getNetworkObjects() {
return networkObjects;
}

@JsonProperty("network_objects")
public void setNetworkObjects(NetworkObjects networkObjects) {
this.networkObjects = networkObjects;
}

@JsonAnyGetter
public Map getAdditionalProperties() {
return this.additionalProperties;
}

@JsonAnySetter
public void setAdditionalProperty(String name, Object value) {
this.additionalProperties.put(name, value);
}

}


Класс NetworkObjects:

@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonPropertyOrder({
"network_object"
})
public class NetworkObjects {

@JsonProperty("network_object")
private List networkObject = null;
@JsonIgnore
private Map additionalProperties = new HashMap();

@JsonProperty("network_object")
public List getNetworkObject() {
return networkObject;
}

@JsonProperty("network_object")
public void setNetworkObject(List networkObject) {
this.networkObject = networkObject;
}

@JsonAnyGetter
public Map getAdditionalProperties() {
return this.additionalProperties;
}

@JsonAnySetter
public void setAdditionalProperty(String name, Object value) {
this.additionalProperties.put(name, value);
}

}


Класс NetworkObject:

@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonPropertyOrder({
"@xsi.type",
"id",
"uid",
"name",
"display_name",
"global",
"comment",
"application_id",
"type",
"ip",
"access_allowed",
"member",
"last_ip",
"first_ip",
"netmask"
})
public class NetworkObject {

@JsonProperty("@xsi.type")
private String xsiType;
@JsonProperty("id")
private Integer id;
@JsonProperty("uid")
private String uid;
@JsonProperty("name")
private String name;
@JsonProperty("display_name")
private String displayName;
@JsonProperty("global")
private Boolean global;
@JsonProperty("comment")
private String comment;
@JsonProperty("application_id")
private Integer applicationId;
@JsonProperty("type")
private String type;
@JsonProperty("ip")
private String ip;
@JsonProperty("access_allowed")
private Boolean accessAllowed;
@JsonProperty("member")
private List member = null;
@JsonProperty("last_ip")
private String lastIp;
@JsonProperty("first_ip")
private String firstIp;
@JsonProperty("netmask")
private String netmask;
@JsonIgnore
private Map additionalProperties = new HashMap();

@JsonProperty("@xsi.type")
public String getXsiType() {
return xsiType;
}

@JsonProperty("@xsi.type")
public void setXsiType(String xsiType) {
this.xsiType = xsiType;
}

@JsonProperty("id")
public Integer getId() {
return id;
}

@JsonProperty("id")
public void setId(Integer id) {
this.id = id;
}

@JsonProperty("uid")
public String getUid() {
return uid;
}

@JsonProperty("uid")
public void setUid(String uid) {
this.uid = uid;
}

@JsonProperty("name")
public String getName() {
return name;
}

@JsonProperty("name")
public void setName(String name) {
this.name = name;
}

@JsonProperty("display_name")
public String getDisplayName() {
return displayName;
}

@JsonProperty("display_name")
public void setDisplayName(String displayName) {
this.displayName = displayName;
}

@JsonProperty("global")
public Boolean getGlobal() {
return global;
}

@JsonProperty("global")
public void setGlobal(Boolean global) {
this.global = global;
}

@JsonProperty("comment")
public String getComment() {
return comment;
}

@JsonProperty("comment")
public void setComment(String comment) {
this.comment = comment;
}

@JsonProperty("application_id")
public Integer getApplicationId() {
return applicationId;
}

@JsonProperty("application_id")
public void setApplicationId(Integer applicationId) {
this.applicationId = applicationId;
}

@JsonProperty("type")
public String getType() {
return type;
}

@JsonProperty("type")
public void setType(String type) {
this.type = type;
}

@JsonProperty("ip")
public String getIp() {
return ip;
}

@JsonProperty("ip")
public void setIp(String ip) {
this.ip = ip;
}

@JsonProperty("access_allowed")
public Boolean getAccessAllowed() {
return accessAllowed;
}

@JsonProperty("access_allowed")
public void setAccessAllowed(Boolean accessAllowed) {
this.accessAllowed = accessAllowed;
}

@JsonProperty("member")
public List getMember() {
return member;
}

@JsonProperty("member")
public void setMember(List member) {
this.member = member;
}

@JsonProperty("last_ip")
public String getLastIp() {
return lastIp;
}

@JsonProperty("last_ip")
public void setLastIp(String lastIp) {
this.lastIp = lastIp;
}

@JsonProperty("first_ip")
public String getFirstIp() {
return firstIp;
}

@JsonProperty("first_ip")
public void setFirstIp(String firstIp) {
this.firstIp = firstIp;
}

@JsonProperty("netmask")
public String getNetmask() {
return netmask;
}

@JsonProperty("netmask")
public void setNetmask(String netmask) {
this.netmask = netmask;
}

@JsonAnyGetter
public Map getAdditionalProperties() {
return this.additionalProperties;
}

@JsonAnySetter
public void setAdditionalProperty(String name, Object value) {
this.additionalProperties.put(name, value);
}

}


Подробнее здесь: https://stackoverflow.com/questions/589 ... ckson-2-10
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»