[英]Grails json using list
使用Grails 1.3.7將我的域類聲明為I m
StudentReport{
String username
String studentName
}
def sp = StudentReport.createCriteria()
def studentReportList = sp.list {
projections {
property 'username'
property 'studentName'
}
firstResult 0
maxResults 20
order("id", "asc")
}
render studentReportList as JSON
My expected result is
[
{"username":"13B06","student_name":"JOHN SAMUEL"},
{"username":"13B07","student_name":"KATHIRESAN.K"},
{"username":"13B08","student_name":"KATHIRESAN.K"},
{"username":"13B11","student_name":"MALINI.S"}
]
But what i get is
[
["13B06","JOHN SAMUEL"],
["13B07","KATHIRESAN.K"],
["13B08","KATHIRESAN.K"],
["13B11","MALINI.S"]
]
我需要帶有花括號的屬性名稱。 誰能幫助我。 我試過在控制器中不使用投影,但是我得到的是准確的結果,但是如果嘗試使用投影,那么我會保持相同的結果。
[ {"13B06","JOHN SAMUEL"},{"13B07","KATHIRESAN.K"},{"13B08","KATHIRESAN.K"},{"13B11","MALINI.S"} ]
是無效的JSON。 您當前獲取的輸出是正確的,因為studentReportList
是列表列表,所以JSON必須是數組數組。 如果要使用括號,則內部元素將需要是JSON 對象而不是數組。 產生
[
{"username":"13B06","student_name":"JOHN SAMUEL"},
...
]
您可以在條件中添加合適的結果轉換器,並使用property
投影方法的二元形式來分配正確的別名:
def studentReportList = sp.list{
projections {
property 'username', 'username'
property 'studentName', 'student_name'
}
firstResult 0
maxResults 20
order("id", "asc")
resultTransformer AliasToEntityMapResultTransformer.INSTANCE
}
(以及相應的import ),以使條件返回地圖列表而不是列表列表。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.