From 34981c30a78e8bbd7791131059a9210f9928b62c Mon Sep 17 00:00:00 2001
From: 刘光辉 <347230014@qq.com>
Date: 星期四, 17 九月 2026 09:24:09 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master' into master
---
jnpf-lims/jnpf-lims-entity/src/main/java/jnpf/limsEntity/StringOrArrayDeserializer.java | 41 +++++++++++++++++++++++++++++++++++++++++
1 files changed, 41 insertions(+), 0 deletions(-)
diff --git a/jnpf-lims/jnpf-lims-entity/src/main/java/jnpf/limsEntity/StringOrArrayDeserializer.java b/jnpf-lims/jnpf-lims-entity/src/main/java/jnpf/limsEntity/StringOrArrayDeserializer.java
new file mode 100644
index 0000000..03b3b14
--- /dev/null
+++ b/jnpf-lims/jnpf-lims-entity/src/main/java/jnpf/limsEntity/StringOrArrayDeserializer.java
@@ -0,0 +1,41 @@
+package jnpf.limsEntity;
+
+import com.fasterxml.jackson.core.JsonParser;
+import com.fasterxml.jackson.core.JsonToken;
+import com.fasterxml.jackson.databind.DeserializationContext;
+import com.fasterxml.jackson.databind.deser.std.StdDeserializer;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * 鍏煎 String 鍜� Array 鐨勫弽搴忓垪鍖栧櫒銆�
+ * 褰撳墠绔紶鍏ユ暟缁勶紙濡傚閫夌粍浠讹級鏃讹紝淇濇寔 JSON 鏁扮粍瀛楃涓叉牸寮忓瓨鍌紝
+ * 渚嬪 ["椤圭洰A","椤圭洰B"]锛屼究浜庡墠绔洖鏄炬椂鐩存帴瑙f瀽銆�
+ */
+public class StringOrArrayDeserializer extends StdDeserializer<String> {
+
+ public StringOrArrayDeserializer() {
+ super(String.class);
+ }
+
+ @Override
+ public String deserialize(JsonParser p, DeserializationContext ctxt) throws IOException {
+ if (p.currentToken() == JsonToken.START_ARRAY) {
+ List<String> list = new ArrayList<>();
+ while (p.nextToken() != JsonToken.END_ARRAY) {
+ list.add(p.getValueAsString());
+ }
+ // 瀛樹负 JSON 鏁扮粍瀛楃涓诧紝鍓嶇鍥炴樉鍙洿鎺� JSON.parse
+ StringBuilder sb = new StringBuilder("[");
+ for (int i = 0; i < list.size(); i++) {
+ if (i > 0) sb.append(",");
+ sb.append("\"").append(list.get(i).replace("\"", "\\\"")).append("\"");
+ }
+ sb.append("]");
+ return sb.toString();
+ }
+ return p.getValueAsString();
+ }
+}
--
Gitblit v1.8.0