summaryrefslogtreecommitdiff
path: root/source
diff options
context:
space:
mode:
authorMichael Christen <Orbiter@users.noreply.github.com>2024-07-10 16:36:54 +0200
committerGitHub <noreply@github.com>2024-07-10 16:36:54 +0200
commitaccf4e424bb6698f262dce358d07d8c250a88d98 (patch)
tree339b1d5b67b8406eb0dd82ac9f7d515b3899ef22 /source
parent2f5f3f885389838aab0499a4e4fb272e6b706e22 (diff)
parentf3cc818305e5cb31691af71e93ce0be7135255c2 (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.java11
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);
}