Grails 在Groovy中从txt文件读取JSON对象

Grails 在Groovy中从txt文件读取JSON对象,grails,groovy,Grails,Groovy,我正在尝试从txt文件中收集JSON。但我下面的代码似乎一直在给我“nullPointerException” 找到解决方案 读取json txt文件: File f = new File(tempDir+File.separator+'jsonObject.txt') def slurper = new JsonSlurper() def jsonText = f.getText() json = slurper.parseText( jsonText ) 将json写入文件: File g

我正在尝试从txt文件中收集JSON。但我下面的代码似乎一直在给我“nullPointerException”

找到解决方案
读取json txt文件:

File f = new File(tempDir+File.separator+'jsonObject.txt')
def slurper = new JsonSlurper()
def jsonText = f.getText()
json = slurper.parseText( jsonText )
将json写入文件:

File g = new File(tempDir+File.separator+'jsonObject.txt')
            g.createNewFile()
            def json = new JsonBuilder()
            json {
                "result" result
                }       
            g.setText(json.toString())
尝试:

请试试这个:

import groovy.json.JsonSlurper

def inputFile = new File("D:\\yourPath\\json.txt")
def InputJSON = new JsonSlurper().parseText(inputFile.text)
InputJSON.each{ println it }

parseFile可以将文件作为输入:

import groovy.json.JsonSlurper

def inputFile = new File("/your/path/my.json")
def InputJSON = new JsonSlurper().parseFile(inputFile, 'UTF-8')
InputJSON.each{ println it }

尝试简单优化的解决方案:

import groovy.json.JsonSlurper

try {
File inputFile = new File("your_file_path")
def slurper = new JsonSlurper()
def data = slurper.parse(inputFile)
} catch (Exception e) {
      e.printStackTrace()
    }

在哪里抛出空指针?您可能还想看看我之前在阅读文本文件时问过的这个问题。行开头的空指针异常“game=…”问题是使用替代代码解决的。对于遵循此问题的任何人,您不需要执行此处的解决方案,您可以从读卡器读取,并且可以通过
新文件(f)完成写入.text=new JsonBuilder([result:result])
而不是上面的7行我详细地使用了您的代码,但它在JsonSlurper行显示了“nullPointerException”错误…您可以将实际堆栈跟踪添加到问题中吗?
公共对象解析(文件文件)
自版本2.2.0起在JsonSlurper中可用-请参阅此解决方案,我一直得到一个java.io.FileNotFoundException:并意识到我需要将
新文件
更改为
读取文件
,如这里所述:此外,我还必须删除对
inputFile
文本属性的调用
import groovy.json.JsonSlurper

def inputFile = new File("/your/path/my.json")
def InputJSON = new JsonSlurper().parseFile(inputFile, 'UTF-8')
InputJSON.each{ println it }
import groovy.json.JsonSlurper

try {
File inputFile = new File("your_file_path")
def slurper = new JsonSlurper()
def data = slurper.parse(inputFile)
} catch (Exception e) {
      e.printStackTrace()
    }