コード例 #1
0
 private String buildJSONFromFields(Collection<SearchHitField> values) {
   JsonFactory nodeFactory = new JsonFactory();
   try {
     ByteArrayOutputStream stream = new ByteArrayOutputStream();
     JsonGenerator generator = nodeFactory.createGenerator(stream, JsonEncoding.UTF8);
     generator.writeStartObject();
     for (SearchHitField value : values) {
       if (value.getValues().size() > 1) {
         generator.writeArrayFieldStart(value.getName());
         for (Object val : value.getValues()) {
           generator.writeObject(val);
         }
         generator.writeEndArray();
       } else {
         generator.writeObjectField(value.getName(), value.getValue());
       }
     }
     generator.writeEndObject();
     generator.flush();
     return new String(stream.toByteArray(), Charset.forName("UTF-8"));
   } catch (IOException e) {
     return null;
   }
 }