Преобразовать json объект с динамическим c полем JSONObject в XML - PullRequest
0 голосов
/ 25 февраля 2020

я ищу, чтобы преобразовать этот java объект в XML, который содержит динамическое c поле JSONObject

package com.bcn.notaire.domain;

import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlAnyElement;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;

import com.fasterxml.jackson.annotation.JsonProperty;

import org.json.JSONObject;


@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "event", propOrder = {"name", "timeStamp" , "appId" , "userId" , "metadata"})
    public  class Event2 {
        @XmlElement(name = "name" ,required = true)
        private String name; 

        @XmlElement(name = "timeStamp" ,required = true)
        private String timeStamp ;

        @XmlElement(name = "appId" ,required = true)
        private String appId ;

        @XmlElement(name = "userId" ,required = true)
        private String userId ;

        @JsonProperty("metadata")
        @XmlAnyElement
        private JSONObject metadata ;

        public Event2() {}

        public Event2(String name, String timeStamp, String appId, String userId, JSONObject metadata) {
            this.name = name;
            this.timeStamp = timeStamp;
            this.appId = appId;
            this.userId = userId;
            this.metadata = metadata;
        }

        public String getName() {
            return name;
        }

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

        public String getTimeStamp() {
            return timeStamp;
        }

        public void setTimeStamp(String timeStamp) {
            this.timeStamp = timeStamp;
        }

        public String getAppId() {
            return appId;
        }

        public void setAppId(String appId) {
            this.appId = appId;
        }

        public String getUserId() {
            return userId;
        }

        public void setUserId(String userId) {
            this.userId = userId;
        }

        public Object getMetadata() {
            return metadata;
        }

        public void setMetadata(JSONObject metadata) {
            this.metadata = metadata;
        }
    }

я уже использовал маршал, и он не преобразует объект в th формат reght. как я могу это сделать и какую аннотацию добавить, чтобы принять во внимание поле dynamici c json и заполнить его любым jsonField ... и спасибо

...