Deserialization of heterogeneous list

Aperta
#787 1 commento 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
25/100
Tipo di issue
Funzionalità
Chiarezza
Da chiarire
Stato di attività
Ferma
Stack tecnologico
java
Ambito
backend

Direzione di ricerca

Inizia con l’esempio ParseTest e la chiamata a XmlMapper.readValue mostrata nell’issue. Analizza come viene associata la raccolta XML quando e compaiono insieme e se è supportato l’ordinamento basato su sequenceNr; il lavoro è completato quando viene documentata una configurazione funzionante oppure vengono registrati chiaramente i limiti non supportati.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

3.x
Discussed in https://github.com/FasterXML/jackson-dataformat-xml/discussions/786

Originally posted by kristofvb November 19, 2025
Hi,

I have some questions about the following sample:

class ParseTest {

    @Test
    void parse() throws Exception {
        var mapper = new XmlMapper();
        var root = mapper.readValue("""
                <root>
                    <foos>
                        <foo sequenceNr="1">somefoo</foo>
                        <foo sequenceNr="2">otherfoo</foo>
                        <bar>something very different</bar>
                    </foos>
                </root>
                """, Root.class);
        System.out.println(root);
    }

    private static class Root {
        @JacksonXmlProperty(localName = "foos")
        private List<Foo> foos = new ArrayList<>();

        public String toString() {
            return "Root{" +
                    "foos=" + foos +
                    '}';
        }
    }

    private static class Foo {
        @JacksonXmlText
        String text;

        @JacksonXmlProperty(isAttribute = true)
        Integer sequenceNr;

        public String toString() {
            return "Foo{" +
                    "text='" + text + '\'' +
                    ", sequenceNr=" + sequenceNr +
                    '}';
        }
    }

}
  • is there a way to make sure the foos list only contains Foo instances for actual foo elements and avoid turning the bar element into a Foo instance?
  • is there a way (annotation) to sort the foos list on sequenceNr of the elements? Currently I sort the list in the foos setter (which I omitted in the sample).

Thanks for looking into this.

Lingua principale
Java
Stelle
636
Fork
250
Merge medio
7h 10m
PR unite (30g)
8

Preparare l'ambiente

Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di FasterXML/jackson-dataformat-xml

Tutte le issue di FasterXML/jackson-dataformat-xml

Issue simili

Altre issue su Java

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.