Grails-呈现的Json文件对于客户端操作来说太大

Grails-呈现的Json文件对于客户端操作来说太大,json,grails,csv,gorm,Json,Grails,Csv,Gorm,我有一个grails控制器来呈现json文件,如下所示,供d3在前端(.gsp文件)上进一步使用: 我使用此文件在前端呈现交叉过滤的dc图表。问题是,像上面这样的查询会返回大的JSON文件/对象,而我的客户端会停止工作并挂起。(100MB以上,在客户端,仍在加载!!) 我想不出有什么替代方法可以减少我的文件大小(可能呈现为csv字符串?这会有很大帮助吗?如果有,我该怎么做?目前我的json中大约有600000行) 我还有什么其他选择?我建议使用类似于创建更多类似二进制的JSON更小表示形式的东西

我有一个grails控制器来呈现json文件,如下所示,供d3在前端(.gsp文件)上进一步使用:

我使用此文件在前端呈现交叉过滤的dc图表。问题是,像上面这样的查询会返回大的JSON文件/对象,而我的客户端会停止工作并挂起。(100MB以上,在客户端,仍在加载!!)

我想不出有什么替代方法可以减少我的文件大小(可能呈现为csv字符串?这会有很大帮助吗?如果有,我该怎么做?目前我的json中大约有600000行)


我还有什么其他选择?

我建议使用类似于创建更多类似二进制的JSON更小表示形式的东西。还有一些其他的选择,但我认为这可能是对JVM/Javascript最友好的选择。

很有趣。我会调查的。同时,我的json文件太大了,当我尝试运行我的应用程序(在前端创建的DC图表)时,Chrome devtools会给我一个“超过最大调用堆栈大小”错误。这个错误仅仅是由于文件的大小吗?或者这里还发生了其他事情吗?另外,我从我的控制器呈现JSON是否是加载时间过长的原因?Msgpack与服务有关。我知道,理想情况下,我的呈现应该是JSON格式的,但这会有很大的不同吗?谢谢你的回复。这里真是个业余爱好者!
def dataSource
def salesjson = {
    def sql = new Sql(dataSource)
    def rows = sql.rows("select date_hour,mv,device,department,browser,platform,total_revenue as metric, total_revenue_ly as metric_ly from composite")
    sql.close()        
    render rows as JSON
}