Я использую Grails 2.3.7, и у меня есть действие контроллера следующим образом:
def testData(){
def result = [:]
result['name'] = "Sales"
result['type'] = "bar"
result['data'] = [5, 20, 45, 10, 10, 20]
[data: result as JSON]
}
В testData.gsp я хотел бы получить объект JSON в javascript:
<script>
$(document).ready(function(){
var data = JSON.parse(${data});
})
</script>
Затем я получил исключение:
Uncaught SyntaxError: Unexpected token {
в строке:
var data = JSON.parse({"name":"Sales","type":"bar","data":[5,20,45,10,10,20]});
Похоже, что JSON испорчен. Я думаю, что он работал так. Может, это новый Grails? Как я могу это исправить? Спасибо.
Update: Задача решена. См. Комментарии в принятом ответе.
Update2: Когда я проверю приложение сегодня, он снова не сработал. Я сделал то, что требовалось документам с "сырым" методом, но не повезло. Обходным путем является использование "Per Page Encoding". Это я тщательно проверил. Он работает.