首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Groovy JsonSlurper和嵌套映射

Groovy JsonSlurper和嵌套映射
EN

Stack Overflow用户
提问于 2015-08-26 16:30:03
回答 1查看 8.3K关注 0票数 3

我有一个返回公平嵌套的JSON的方法,如:

代码语言:javascript
复制
[[fizz: buzz, foos: [[count: 4, flim: flam], [count: 6, flim: flume]]]]

当我试图使用JsonSlurper将这个JSON读入一个def result时,我得到的是异常:

代码语言:javascript
复制
// json == “[[fizz: buzz, foos: [[count: 4, flim: flam], [count: 6, flim: flume]]]]"
String json = getJSON()
JsonSlurper slurper = new JsonSlurper()

def result = slurper.parseText(json)

生成在执行parseText时引发的异常:

代码语言:javascript
复制
Caught: groovy.json.JsonException: Unable to determine the current character, it is not a string, number, array, or object

知道解决办法是什么吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-08-26 17:16:45

我认为您正在尝试使用Groovy的映射表示法作为JSON。JSON用卷标作为地图,如下所示

代码语言:javascript
复制
import groovy.json.*

def obj = [["fizz": "buzz", "foos": [["count": 4, "flim": "flam"], ["count": 6, "flim": "flume"]]]]
def json = JsonOutput.toJson(obj)
assert json == '''[{"fizz":"buzz","foos":[{"count":4,"flim":"flam"},{"count":6,"flim":"flume"}]}]'''
def result = new JsonSlurper().parseText(json)
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32231974

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档