json - 如何从Controller将嵌套 map 呈现为JSON

标签 json grails groovy nested-map

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/

相关文章:

grails - ==〜 bool 运算符是做什么的?

Java:Protobuf字节到Json字符串到Pojo快速

json - React中嵌套JSON解析

hibernate - 如何覆盖Grails/hibernate 关系列名称

grails - 3、9、15、21小时的 quartz Cron表达

grails - 如何在Grails中集成来自Github的依赖项?

javascript - JSON 解析错误 - JSON 中位置 1 处出现意外标记 o

json - Flatbuffer 与 CBOR

unit-testing - 在升级到JDK 8后,为什么我的Spock单元测试在Gradle构建中失败?

java - 使用键将对象数组转换为数组对象