2012-11-09 63 views
1

我正在調用splunk,然後我試圖使用ResultsReaderJson類來獲取我的結果。試圖使用java sdk並返回Json和gson代碼問題

InputStream results = jobSavedSearch.getResults(); 
ResultsReaderJson resultsReader = new ResultsReaderJson(results); 

而且我不斷收到此錯誤。

com.google.gson.stream.MalformedJsonException: Use JsonReader.setLenient(true) to accept malformed JSON at line 1 column 6 

我無權訪問此類的JsonReader。有沒有人有任何想法來解決這個問題?

回答

9

你還沒有要求結果流返回給你JSON。默認值是XML。爲了解決這個問題,你可以使用:

Args outputArgs = new Args(); 
outputArgs.put("output_mode","json"); 
InputStream results = jobSavedSearch.getResults(outputArgs); 
1

在Splunk的1.3.0 API,你可以這樣做:

JobExportArgs jobargs = new JobExportArgs(); 
    jobargs.setOutputMode(JobExportArgs.OutputMode.JSON); 
    InputStream exportSearch = jobSavedSearch.getResults(jobargs); 
    MultiResultsReaderJson multiResultsReader = new MultiResultsReaderJson(exportSearch);