Json Groovy文件检查

Json Groovy文件检查,json,groovy,Json,Groovy,我是一名java新生,最近参加了一次面试。他们问了一个类似这样的问题:设置Groovy,测试示例json文件是否有效。如果有效,则运行json文件。如果不是,则打印“文件无效”。如果未找到文件,请打印“未找到文件”。我有两个小时的时间做这件事,我可以上网 因为我不知道groovy或json是什么,所以我搜索了它并设置了groovy,但无法在两小时内获得输出。我应该写什么?我尝试了一些代码,但我确信它是错误的 您可以使用file.exists()检查文件系统上是否存在该文件,并使用file.can

我是一名java新生,最近参加了一次面试。他们问了一个类似这样的问题:设置Groovy,测试示例json文件是否有效。如果有效,则运行json文件。如果不是,则打印“文件无效”。如果未找到文件,请打印“未找到文件”。我有两个小时的时间做这件事,我可以上网


因为我不知道groovy或json是什么,所以我搜索了它并设置了groovy,但无法在两小时内获得输出。我应该写什么?我尝试了一些代码,但我确信它是错误的

您可以使用
file.exists()
检查文件系统上是否存在该文件,并使用
file.canRead()
检查应用程序是否可以读取该文件。然后使用
JSONSlurper
解析文件并捕获
JSONException
如果json无效:

import groovy.json.*

def filePath = "/tmp/file.json"

def file = new File(filePath)

assert file.exists() : "file not found"
assert file.canRead() : "file cannot be read"

def jsonSlurper = new JsonSlurper()
def object

try {
  object = jsonSlurper.parse(file)
} catch (JsonException e) {
  println "File is not valid"
  throw e
}

println object
要从命令行传递文件路径参数,请将
def filePath=“/tmp/file.json”
替换为

assert args.size == 1 : "missing file to parse"
def filePath = args[0]
并在命令行上执行
groovy parse.groovy/tmp/file.json
file.canRead()
是正确的
readable()
是答案中的一个输入错误。更新,谢谢@SeanPianka指出