我想渲染包含已缓存JSON的字段的JSON。我怎么能这样做?
示例:
def cachedJSON = [cachedPropertyOne:'a', cachedPropertyTwo:'b'] as JSON
render([listEntryOne:'c', listEntryTwo:'d', cachedProperties: cachedJSON] as JSON)
上述代码的问题是cachedProperties被转义。例如,"
变为\"
。
答案 0 :(得分:0)
根据我的经验,渲染为JSON不喜欢内联映射,所以我总是声明一个变量并且像这样:
def result = [:]
// assign values to result
render result as JSON
它按预期的方式工作。
答案 1 :(得分:0)
在您提供的代码中,cachedJSON只是一个地图,因此我假设它是json语法中字符串的代表。
例如,如果cachedJSON
实际上是:
def cachedJSON = '{"cachedPropertyOne":"a","cachedPropertyTwo":"b"}'
然后,您可以使用JSON类的parse
方法将其转换为JSONObject
,然后可以将其放回渲染的地图中。
def cachedJSON = '{"cachedPropertyOne":"a","cachedPropertyTwo":"b"}'
render([
listEntryOne:'c',
listEntryTwo:'d',
cachedProperties: JSON.parse(cachedJSON)
] as JSON)