From 56638c01bb2cc61a92f5e03c9a1001be5b5d3699 Mon Sep 17 00:00:00 2001
From: P15GEN2\59518 <lilith@highdatas.com>
Date: 星期六, 18 十月 2025 12:39:31 +0800
Subject: [PATCH] dev 数据清洗

---
 foundation.data/src/foundation/data/entity/Entity.java |   14 ++++++++++++--
 1 files changed, 12 insertions(+), 2 deletions(-)

diff --git a/foundation.data/src/foundation/data/entity/Entity.java b/foundation.data/src/foundation/data/entity/Entity.java
index e46ffc0..1b1060c 100644
--- a/foundation.data/src/foundation/data/entity/Entity.java
+++ b/foundation.data/src/foundation/data/entity/Entity.java
@@ -17,6 +17,7 @@
 import foundation.json.IJSONProvider;
 import foundation.json.IJSONWriter;
 import foundation.json.JSONReader;
+import foundation.json.JType;
 import foundation.server.config.DBaseType;
 import foundation.util.ContentBuilder;
 import foundation.util.IEntity;
@@ -81,13 +82,22 @@
 		}
 	}
 	 
-	public void copyFrom(JSONReader from, List<FieldMapping> fieldMappings) {
-		if (from == null) {
+	public void copyFrom(JSONReader json, List<FieldMapping> fieldMappings) {
+		if (json == null) {
 			return;
 		}
 		
+		JSONReader from = json;
+		
 		for (FieldMapping mapping : fieldMappings) {
 			String fromName = mapping.getFromName(true);
+			int pos = fromName.indexOf(".");
+			if (pos >= 0) {
+				String jsonName = fromName.substring(0, pos);
+				fromName = fromName.substring(pos + 1);
+						
+				from = json.getReader(jsonName, JType.Object);
+			}
 			
 			String toName = mapping.getToName();
 			Integer idx = fieldsMeta.getIndex(toName);

--
Gitblit v1.8.0