как использовать некоторую косвенность при демаршалинге json в java bean с помощью Jersey с использованием аннотаций jaxb

Я пытаюсь демаршалировать некоторые полученные json (от веб-службы Jira restful).

Проблема: у «задачи» есть свойство «сводка» и список полей.

Сводка присутствует не как атрибут в полученном json, а как значение атрибута «поля». Я настаиваю на демаршалинге в эту структуру:

@XmlRootElement
class Issue {
   String summary;
   List fields;
   // getters/setters and lots of other fields
}

Полученный JSON:

{
    "expand":"html",
    "self":"https://example.com/jira/rest/api/latest/issue/XYZ-1234",
    "key":"XYZ-1234",
    "fields":
    {
        "summary":
        {
            "name":"summary",
            "type":"java.lang.String",
            "value":"test 1234"
        },
        "customfield_10080":
        {
            "name":"Testeur",
            "type":"com.atlassian.jira.plugin.system.customfieldtypes:userpicker"
        },
        "status":
        {
            "name":"status",
            "type":"com.atlassian.jira.issue.status.Status",
            "value":
            {
                "self":"https://example.com/jira/rest/api/latest/status/5",
                "name":"Resolved"
            }
        },
        ...            
    },
    "transitions":"https://example.com/jira/rest/api/latest/issue/XYZ-1234/transitions"
}

Я не хочу использовать собственный клиент Jira (слишком много зависимостей, которые мне не нужны в моем приложении).

изменить: Я задал свой вопрос другим способом, чтобы прояснить его: как сопоставить структуру bean-компонента с другой схемой с помощью jax-rs

5
задан Community 23 May 2017 в 12:19
поделиться