This solution不适用于嵌套 map 。我正在尝试转换为JSON。我需要发送此嵌套 map ,因为它包含很多我需要在前端用plotly绘制的图形。
这是nestedMap在后端的样子:
Map<String, Map<String, Object>> nestedMap
尽管在将其传递给 Controller 之后,在尝试渲染它之前,我将其声明为def nestedMap
。在 Controller 的末尾,我尝试将render nestedMap
作为JSON。我的AJAX通话后收到什么:
{"FirstSample":
{"S1":
{"avg":2.367333,"computation":-7.314434,"computedAvg":9.26567,"this$0":
{"transactionManager:
{"class":"org.codehaus.groovy.grails.transaction.ChainedTransactionManager",
"transactionManagers":[
{"dataSource":
{"class":"org.springframework.jdbc.datasource.LazyConnectionDataSourceProxy",
"connection":
{"autoCommit":true,"catalog":null,"class":"...
最佳答案
发生此问题的原因是使用JSON呈现的Map包含一个对象。我将要转换为JSON的映射更改为MultiMap<String, List<String>> nestedMap
,以解决前端需要的多个值。发生这种情况后,render nestedMap as JSON
即可工作。因此,如果声明为def
,则在Map中不要包含任何对象。
def nestedMap = [:]
render nestedMap as JSON
关于json - 如何从Controller将嵌套 map 呈现为JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63908845/