From 06e4b84bf0f8c1ae1e64cf3b445be261f36ecf11 Mon Sep 17 00:00:00 2001 From: linzm <334545190@qq.com> Date: Tue, 16 Nov 2021 17:06:48 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0column=E7=9A=84type=E4=B8=BAj?= =?UTF-8?q?son=E7=9A=84=E6=94=AF=E6=8C=81=EF=BC=8C=E5=B0=86object=E5=88=97?= =?UTF-8?q?=E8=BD=AC=E5=8C=96=E4=B8=BAjson=E5=AD=97=E7=AC=A6=E4=B8=B2?= =?UTF-8?q?=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../datax/plugin/reader/mongodbreader/MongoDBReader.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/mongodbreader/src/main/java/com/alibaba/datax/plugin/reader/mongodbreader/MongoDBReader.java b/mongodbreader/src/main/java/com/alibaba/datax/plugin/reader/mongodbreader/MongoDBReader.java index ba7f07f4..ef8ebdd3 100644 --- a/mongodbreader/src/main/java/com/alibaba/datax/plugin/reader/mongodbreader/MongoDBReader.java +++ b/mongodbreader/src/main/java/com/alibaba/datax/plugin/reader/mongodbreader/MongoDBReader.java @@ -128,6 +128,8 @@ public class MongoDBReader extends Reader { while (columnItera.hasNext()) { JSONObject column = (JSONObject)columnItera.next(); Object tempCol = item.get(column.getString(KeyConstant.COLUMN_NAME)); + String columnName = column.getString(KeyConstant.COLUMN_NAME); + String columnType = column.getString(KeyConstant.COLUMN_TYPE); if (tempCol == null) { if (KeyConstant.isDocumentType(column.getString(KeyConstant.COLUMN_TYPE))) { String[] name = column.getString(KeyConstant.COLUMN_NAME).split("\\."); @@ -151,7 +153,9 @@ public class MongoDBReader extends Reader { if (tempCol == null) { //continue; 这个不能直接continue会导致record到目的端错位 record.addColumn(new StringColumn(null)); - }else if (tempCol instanceof Double) { + } else if (columnType.equalsIgnoreCase("json")) { + record.addColumn(new StringColumn(JSON.toJSONString(tempCol))); + } else if (tempCol instanceof Double) { //TODO deal with Double.isNaN() record.addColumn(new DoubleColumn((Double) tempCol)); } else if (tempCol instanceof Boolean) {