我目前正致力于使用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
然后我计划在网页中填充这些字段,但是在我能够从解析中返回它们之前我不能这样做。 纬度和经度值是整数,但它们被解析为字符串。
答案 0 :(得分:0)
查询的结果是JSON字符串列表,即使只有一个元素。使用
new JsonSlurper().parseText(table.list.first())