Warum werden Namen in JSON mit Hilfe von Jersey zurückgegeben?

8

Ich verwende den JAXB, der Teil des Jersey JAX-RS ist. Wenn ich JSON für meinen Ausgabetyp anfordere, beginnen alle meine Attributnamen mit einem Stern wie diesem,

Dieses Objekt;

%Vor%

wird dies,

%Vor%

Also, warum gibt es @ im Namen?

    
John 14.07.2010, 19:57
quelle

3 Antworten

9

Alle Eigenschaften, die mit @XmlAttribute zugeordnet sind, erhalten in JSON das Präfix "@". Wenn Sie es entfernen möchten, haben Sie einfach Ihre Eigenschaft mit @XmlElement versehen.

Vermutlich soll dies mögliche Namenskonflikte vermeiden:

%Vor%     
Blaise Doughan 15.07.2010, 20:40
quelle
1

Wenn Sie XML und JSON als Marshalling verwenden und in der XML-Version nicht als Attribut benötigen, empfiehlt sich die Verwendung von @XmlElement als beste Methode.

Wenn es jedoch ein Attribut (anstatt ein Element) in der XML-Version sein muss, haben Sie eine ziemlich einfache Alternative.

Sie können einfach ein JSONConfiguration einrichten, das die Einfügung des "@" ausschaltet.

Es würde ungefähr so ​​aussehen:

%Vor%

Es gibt auch andere alternative Dokumente hier:

Ссылка

    
DaBlick 12.03.2013 17:33
quelle
0

Sie müssen JSON_ATTRIBUTE_PREFIX in Ihrer JAXBContext -Konfiguration auf "" setzen, was standardmäßig "@" :

ist %Vor%     
Marek Raszewski 22.12.2016 14:03
quelle

Tags und Links