使用JsonSlurper解析MySQL Json输出会返回groovy.lang.MissingMethodException

时间:2015-04-15 18:57:15

标签: mysql json groovy jsonslurper

我目前正致力于使用Groovy的JsonSlurper解析MySQL查询部分的输出。

我正在尝试从此查询中提取LAT和LONG值。

包含Json的查询在数据库中读取正常,并返回预期值,但是,当我尝试解析此时 我的JsonSlurper中的Json我得到了一个java Missing Method异常,它抱怨了parseText()。该错误建议将parseText作为解决方案, 虽然这是正在使用的。

错误如下: groovy.lang.MissingMethodException:没有方法签名:groovy.json.JsonSlurper.parseText()适用于参数类型:(java.util.ArrayList)

我的代码如下:

生成json的查询部分如下:

 SELECT   concat('{Address:"',n.address,'",LAT:"'map.details,'",LONG:"'map.details'"}') as list FROM table

然后我在我的JsonSlurper方法中调用该列表,该方法被填充为应用程序中的数据库字段:

def result = new JsonSlurper().parseText(table.list)
def latitude = result.get("LAT")
def longitude = result.get("LONG")

println latitude
println longitude

然后我计划在网页中填充这些字段,但是在我能够从解析中返回它们之前我不能这样做。 纬度和经度值是整数,但它们被解析为字符串。

1 个答案:

答案 0 :(得分:0)

查询的结果是JSON字符串列表,即使只有一个元素。使用

new JsonSlurper().parseText(table.list.first())