2016-08-09 2 views
0

JSONをJavaオブジェクトにアンマーシャリングしようとしています。重複しないJSONのアンマーシャリングjavax.xml.bind.UnmarshalException:予期しない要素(URI: ""、ローカル:

私のJavaクラスは、注釈

@XmlRootElement(name = "cpResponse") 
public class CPResponse { 

の下にあり、私はCXF-RT-RS-延長-プロバイダからorg.apache.cxf.jaxrs.provider.json.JSONProviderを使用しています - バージョン - 2.7.3

私はbeloを取得するWエラー

javax.xml.bind.UnmarshalException:予期しない要素(URI: ""、 ローカル: "cpResponse")

+1

私はJettisonを使用していると思いますので、JSONを投稿して要素を確認してください。あなたはcontent-type application/jsonを受け取りましたか?あなたはXMLを受け取っているようです – pedrofb

+0

あなたは正しい@ArKです。この問題は、Jettison Library 1.3.xバージョンで発生しました。私は1.2にダウングレードし、問題は解決しました。 –

答えて

0

私は、Javaのマッパークラスを表示することはできませんよ。 jsonの各フィールドについて、Java Mapperクラスでgetterとsetterを定義します.jsonからJava pojoへのデータの読み込みは、次のようになります。 jackson-databind-2.0.0 apiを使用すると、コード

ObjectMapper mapper = new ObjectMapper(); 
JsonMapperVO jsonMapperVO = mapper.readValue(jsonString.toString(), JsonMapperVO.class); 
0

おそらく名前空間の問題です。名前空間を""にしてください。 :

@XmlRootElement(name = "cpResponse", namespace = "") 
public class CPResponse { 
+0

私はあなたが示唆したように試みましたが、変更はありませんでした。同じ例外が発生しています。私は@クライアント側だけに行くか、@サーバ側で済ませればよいのでしょうか? –

0

問題はJettison Library 1.3.xバージョンで発生しました。私は1.2にダウングレードし、問題は解決しました。

他のコードは変更されていません。

関連する問題