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/JsonNodeAsStringDeserializer.java |   41 +++++++++++++++++++++++++++++++++++++++++
 1 files changed, 41 insertions(+), 0 deletions(-)

diff --git a/jnpf-lims/jnpf-lims-entity/src/main/java/jnpf/limsEntity/JsonNodeAsStringDeserializer.java b/jnpf-lims/jnpf-lims-entity/src/main/java/jnpf/limsEntity/JsonNodeAsStringDeserializer.java
new file mode 100644
index 0000000..b646502
--- /dev/null
+++ b/jnpf-lims/jnpf-lims-entity/src/main/java/jnpf/limsEntity/JsonNodeAsStringDeserializer.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.JsonNode;
+import com.fasterxml.jackson.databind.deser.std.StdDeserializer;
+
+import java.io.IOException;
+
+/**
+ * 鍏煎 String / Array / Object 鐨勫弽搴忓垪鍖栧櫒銆�
+ * 鐢ㄤ簬闇�瑕�"鎶婂鏉� JSON 鍊煎師鏍峰瓨鍒� text 瀛楁銆佸洖鏄炬椂 JSON.parse"鐨勫満鏅紝
+ * 渚嬪鍓嶇浼犵殑闄勪欢鏁扮粍 [{fileId, url, ...}]锛屽悗绔瓨 JSON 瀛楃涓插埌 DB銆�
+ *
+ * <p>瑙勫垯锛�
+ * <ul>
+ *   <li>null 鈫� null</li>
+ *   <li>瀛楃涓� 鈫� 鍘熸牱瀛楃涓�</li>
+ *   <li>鏁扮粍 / 瀵硅薄 / 鏁板瓧 / 甯冨皵 鈫� 鑺傜偣鐨� JSON 瀛楃涓插舰寮�</li>
+ * </ul>
+ */
+public class JsonNodeAsStringDeserializer extends StdDeserializer<String> {
+
+    public JsonNodeAsStringDeserializer() {
+        super(String.class);
+    }
+
+    @Override
+    public String deserialize(JsonParser p, DeserializationContext ctxt) throws IOException {
+        JsonToken t = p.currentToken();
+        if (t == JsonToken.VALUE_NULL) {
+            return null;
+        }
+        if (t == JsonToken.VALUE_STRING) {
+            return p.getValueAsString();
+        }
+        JsonNode node = p.readValueAsTree();
+        return node.toString();
+    }
+}

--
Gitblit v1.8.0