【问题标题】:Groovy JsonSlurper and nested mapsGroovy JsonSlurper 和嵌套地图
【发布时间】:2015-08-26 16:30:03
【问题描述】:

我有一个返回相当嵌套的 JSON 的方法,例如:

[[fizz: buzz, foos: [[count: 4, flim: flam], [count: 6, flim: flume]]]]

当我尝试使用 JsonSlurper 将此 JSON 转换为 def result 时,我遇到了异常:

// 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 执行时抛出异常:

Caught: groovy.json.JsonException: Unable to determine the current character, it is not a string, number, array, or object

知道解决方法是什么吗?

【问题讨论】:

    标签: json groovy jsonslurper


    【解决方案1】:

    我认为您正在尝试将 Groovy 的地图表示法用作 JSON。 JSON 使用 curlies 作为地图,像这样

    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)
    

    【讨论】:

      猜你喜欢
      • 2017-12-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-14
      • 1970-01-01
      • 2021-01-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多