试图使用java sdk并返回Json并遇到gson代码问题

时间:2012-11-09 20:51:59

标签: splunk

我正在调用splunk,然后我尝试使用ResultsReaderJson类来获取结果。

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。有没有人对我能做些什么来解决这个问题?

2 个答案:

答案 0 :(得分:9)

您尚未要求结果流返回JSON。默认值为XML。要解决此问题,您可以使用:

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

答案 1 :(得分: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);