我目前正在研究一种使用 Groovy 的 JsonSlurper 解析 MySQL 查询部分输出的方法。
我正在尝试从此查询中提取 LAT 和 LONG 值。
包含 Json 的查询可以很好地读入数据库,并返回预期值,但是,当我尝试在我的 JsonSlurper 中解析这个 Json 时,我得到一个 java Missing Method 异常,它抱怨 parseText()。该错误建议使用 parseText 作为解决方案,尽管这是正在使用的。
错误如下:groovy.lang.MissingMethodException: No signature of method: groovy.json.JsonSlurper.parseText() is applicable for argument types: (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
然后,我计划在网页中填充这些字段,但在我能够从解析中返回它们之前,我无法执行此操作。纬度和经度值是整数,尽管它们被解析为字符串。