2012-03-06 76 views
0

我有一個簡單的REST Web服務,它使用Jersey版本11(1.11)。當我要求在JSON數據,我得到迴應與此類似:JSON對象以字段名稱返回「@」。這是一個錯誤還是一個功能?

{ 
    "@course_name": "test1", 
    "@cid": "testMike", 
    "@start_date": "2012-03-13T00:00:00.000-04:00", 
    "@end_date": "2012-03-20T00:00:00.000-04:00", 
    "@row_id": "testMike" 
}, 

誰能告訴我爲什麼「@」是出現在每個key:value對?

+0

您可能需要提供更多的細節;這不會發生在我身上。 – 2012-03-06 01:17:16

+0

您需要提供有關生成響應的詳細信息...... lang,程序,框架等...某些代碼會有所幫助。 – JAAulde 2012-03-06 01:24:15

+1

您應該爲您的實體添加代碼,以便我們可以更好地幫助您。你有沒有使用@XmlAttribute? – Perception 2012-03-06 01:26:10

回答

2

這可能是因爲您將Java類中的字段標記爲XML屬性(使用@XmlAttribute批註),而不是XML元素(使用@XmlElement批註)。

搜索本文檔中的「@XmlAttribute」:http://jersey.java.net/nonav/documentation/latest/json.html

+0

謝謝你的鏈接。它不是一個bug,而是Json與Json的一個特性。 – user1250852 2012-03-07 15:27:23

+0

謝謝你的鏈接。這非常有幫助。它不是一個bug,而是Json與Json的一個特性。如果您在XSD中使用屬性而不是元素,則會在您的字段名稱前加上「@」。有使用「attributesAsElements」的解決方法。但是,簡單的修復方法是將我的XSD更改爲使用元素而不是屬性。 – user1250852 2012-03-07 15:36:33

相關問題