2011-03-25 12 views
0

我有連接和舊的數據庫不知道爲什麼我得到這樣的結果,當我解析JSON對象我的客戶。列的字符customersMname在域中定義靜態約束:Grails的空列返回值= {「類」:「java.lang.Character中的」}在JSON

customersMname nullable: true, maxSize: 1 

結果我從JSON對象回來時字段爲空爲:

<jsonname2>customersMname</jsonname2> 
<jsonvalue2>{"class":"java.lang.Character"}</jsonvalue2> 

有一個在數據庫中的實際數據列,並且它應該是P.似乎在數據類型定義爲CHAR(1)或VARCHAR(1)時,這發生在MYSQL數據庫中的單個字符列中。有任何想法嗎?

+0

什麼類型是在域類中定義的屬性?你可以發佈你的代碼來創建一個JSON對象嗎? – erturne 2011-03-25 05:00:44

+0

該列是類型Character,該域類是由STS ide中的db-reverse-engineer插件自動生成的。這個標題應改爲「字符列返回垃圾」。我通過將域類型更改爲字符串來解決此問題,但是好奇的是,如果這是一個錯誤? – JPM 2011-03-25 16:28:22

+0

將來,您可以爲您的域類添加自定義的JSON編組器(甚至可以在所有情況下解決問題)來生成正確的空值。這樣你就不必修改你生成的域類。 – Rhysyngsun 2011-03-28 15:34:27

回答

2

顯然,這是系統的錯誤。解決方法是將域類型更改爲字符串並完成。