I'm not very familiar with Gson, so I can't help there. However, UIMA has built-in JSON serialization, described here:
http://uima.apache.org/d/uimaj-current/references.html#ugr.ref.json This is built on the Jackson support for JSON. -Marshall On 11/28/2016 1:48 AM, Syed Moinuddin wrote: > HI, > > I want to get the output in json, I'm trying the following program, > > public static void main(final String... args) throws IOException, > UIMAException, SAXException { > final String note = "Serum Cholesterol 154 150 250 > mgs/dl\n-\nSerum Triglycerides 67 90 200 mgs /dl\n-\nSerum HDL: > Cholesterol 38 35 55 mgs /dl\n-\nSerum LDL: Cholesterol 49 85 150 > mgs/d1\n-\nSerum VLDL: Cholesterol 13 10 40 mgs/dl\n-\nTotal > Cholesterol / HDL Ratio: 3.90\"; > final JCas jcas = JCasFactory.createJCas(); > jcas.setDocumentText(note); > // final AnalysisEngineDescription aed = getDefaultPipeline(); > final AnalysisEngineDescription aed = getFastPipeline(); // > Outputs from default and fast pipeline are identical > SimplePipeline.runPipeline(jcas, aed); > > Collection<TOP> codes = JCasUtil.selectAll(jcas); > List<TOP> list = new ArrayList<>(codes) > > TOP [] res = list.toArray(new TOP[list.size()]); > > // System.out.println(Arrays.toString(res)); > > String json = new Gson().toJson(res); > System.out.println(json); > > } > > But this gives following error, > > Exception in thread "main" java.lang.IllegalArgumentException: class > org.apache.uima.jcas.tcas.DocumentAnnotation_Type declares multiple > JSON fields named fsGenerator > at > com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:122) > at > com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:72) > at com.google.gson.Gson.getAdapter(Gson.java:353) > at > com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.write(TypeAdapterRuntimeTypeWrapper.java:55) > at > com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.write(ReflectiveTypeAdapterFactory.java:89) > at > com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.write(ReflectiveTypeAdapterFactory.java:195) > at > com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.write(TypeAdapterRuntimeTypeWrapper.java:68) > at > com.google.gson.internal.bind.ArrayTypeAdapter.write(ArrayTypeAdapter.java:93) > at com.google.gson.Gson.toJson(Gson.java:586) > at com.google.gson.Gson.toJson(Gson.java:565) > at com.google.gson.Gson.toJson(Gson.java:520) > at com.google.gson.Gson.toJson(Gson.java:500) > at > org.apache.ctakes.clinicalpipeline.ExtractNEs.main(ExtractNEs.java:146) > > Any guidance would be really helpful. > > Thanks >
