diff options
| author | Michael Christen <Orbiter@users.noreply.github.com> | 2024-07-10 16:36:54 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-07-10 16:36:54 +0200 |
| commit | accf4e424bb6698f262dce358d07d8c250a88d98 (patch) | |
| tree | 339b1d5b67b8406eb0dd82ac9f7d515b3899ef22 /source | |
| parent | 2f5f3f885389838aab0499a4e4fb272e6b706e22 (diff) | |
| parent | f3cc818305e5cb31691af71e93ce0be7135255c2 (diff) | |
Merge pull request #649 from virginOne/master
Fix the issue of not being able to import the JSON format
Diffstat (limited to 'source')
| -rw-r--r-- | source/net/yacy/cora/federate/solr/responsewriter/FlatJSONResponseWriter.java | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/source/net/yacy/cora/federate/solr/responsewriter/FlatJSONResponseWriter.java b/source/net/yacy/cora/federate/solr/responsewriter/FlatJSONResponseWriter.java index 7042353db..48ec35d47 100644 --- a/source/net/yacy/cora/federate/solr/responsewriter/FlatJSONResponseWriter.java +++ b/source/net/yacy/cora/federate/solr/responsewriter/FlatJSONResponseWriter.java @@ -22,6 +22,7 @@ package net.yacy.cora.federate.solr.responsewriter; import java.io.IOException; import java.io.Writer; +import java.text.SimpleDateFormat; import java.util.Collection; import java.util.Date; import java.util.List; @@ -152,10 +153,11 @@ public class FlatJSONResponseWriter implements QueryResponseWriter, EmbeddedSolr json.put(name, Double.parseDouble(value)); } } - + public static final void writeDoc(final Writer writer, final SolrDocument doc) throws IOException { JSONObject json = new JSONObject(); final Map<String, Object> fields = doc.getFieldValueMap(); + SimpleDateFormat sdf=new SimpleDateFormat("YYYY-MM-DD'T'hh:mm:ssZ"); for (String key: fields.keySet()) { if (key == null) continue; Object value = doc.get(key); @@ -165,15 +167,16 @@ public class FlatJSONResponseWriter implements QueryResponseWriter, EmbeddedSolr JSONArray a = new JSONArray(); json.put(key, a); for (Object o: ((Collection<?>) value)) { - a.put(o); + a.put(o instanceof Date?sdf.format((Date)o):o); } } else { - json.put(key, value); + json.put(key, value instanceof Date?sdf.format((Date)value):value); } - } catch (JSONException e) { + } catch (JSONException | IllegalArgumentException | NullPointerException e) { throw new IOException(e.getMessage()); } } + writer.write(json.toString()); writer.write(lb); } |
