使用JsonSlurper解析MySQL Json输出返回groovy.lang.MissingMethodException
我目前正在研究一种方法,使用Groovy的JsonSlurper解析MySQL查询的一部分的输出 我试图从这个查询中提取LAT和LONG值 包含Json的查询可以很好地读入数据库,但是,当我尝试解析它时,会返回预期的值 Json在我的JsonSlurper中,我得到一个java Missing方法异常,它抱怨parseText()。错误建议使用parseText作为解决方案, 虽然这是正在使用的 错误如下: groovy.lang.MissingMethodException:没有方法的签名:groovy.json.JsonSlurper.parseText()适用于参数类型:(java.util.ArrayList) 我的代码如下:使用JsonSlurper解析MySQL Json输出返回groovy.lang.MissingMethodException,mysql,json,groovy,jsonslurper,Mysql,Json,Groovy,Jsonslurper,我目前正在研究一种方法,使用Groovy的JsonSlurper解析MySQL查询的一部分的输出 我试图从这个查询中提取LAT和LONG值 包含Json的查询可以很好地读入数据库,但是,当我尝试解析它时,会返回预期的值 Json在我的JsonSlurper中,我得到一个java Missing方法异常,它抱怨parseText()。错误建议使用parseText作为解决方案, 虽然这是正在使用的 错误如下: groovy.lang.MissingMethodException:没有方法的签名:g
SELECT concat('{Address:"',n.address,'",LAT:"'map.details,'",LONG:"'map.details'"}') as list FROM table
查询中生成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
然后,我计划在网页中填充这些字段,但在能够从解析返回这些字段之前,我无法这样做。
纬度和经度值是整数,尽管它们被解析为字符串。查询的结果是JSON字符串列表,即使只有一个元素。使用
new JsonSlurper().parseText(table.list.first())
错误信息非常清楚。将
ArrayList
而不是String
传递给parseText
方法。