2016-09-01 52 views
5

我是一名java新手,最近我去了一次採訪。他們問了一個類似這樣的問題:設置Groovy,測試示例json文件是否有效。如果它有效,請運行json文件。如果不是,則打印「文件無效」。如果找不到文件,請打印「找不到文件」。我有2小時的時間做這件事,我可以使用互聯網。Groovy文件檢查

由於我不知道groovy或json是什麼,我搜索它並設置groovy,但無法在兩個小時內獲得輸出。我應該寫什麼?我嘗試了一些代碼,但我確信它是錯誤的。

回答

7

您可以使用file.exists()來檢查文件系統上是否存在該文件,並檢查該文件是否可以被應用程序讀取。然後使用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 

要通過在命令行中的文件路徑的說法,與

assert args.size == 1 : "missing file to parse" 
def filePath = args[0] 

更換def filePath = "/tmp/file.json"並執行命令行groovy parse.groovy /tmp/file.json