Java 如何将sql数据转换为json&;储存在mongo
这是我从mysql获取数据后的json结构 mongo 但我想要以下风格的mongo ** 在我的json数据中,它只创建2个字段(i字段是id,其他部分是id) 是第二个字段),但第二部分为每个字段创建不同的字段 线路Java 如何将sql数据转换为json&;储存在mongo,java,json,mongodb,Java,Json,Mongodb,这是我从mysql获取数据后的json结构 mongo 但我想要以下风格的mongo ** 在我的json数据中,它只创建2个字段(i字段是id,其他部分是id) 是第二个字段),但第二部分为每个字段创建不同的字段 线路 我的代码是。。。 while(rsMembers.next()){ 字符串toPrint=“”; 整数计数=0; Gson Gson=新的Gson(); 对于(int i=1;i
我的代码是。。。
while(rsMembers.next()){
字符串toPrint=“”;
整数计数=0;
Gson Gson=新的Gson();
对于(int i=1;i
退一步。数据实际上是如何从MySQL中出来的?您应该做的是将其转换到BasicDBObject
或您自己的类结构中,并使用类型化操作编组到MongoDB。如果您试图在两者之间转换为JSON,那么这完全没有必要,而且您可能无法做到o在这里出错(并有)。MongoDB数据不是JSON。这是我认为您会感到困惑的地方。因此,不要构建“字符串”,而是像BasicDBObject obj=new BasicDBObject();for(int I=1;I
在循环中迭代来自MySQL的结果集。就是这样。谢谢。但是在这种情况下,我得到了以下错误。“无法序列化类java.math.BigDecimal”伙计,我不是为你写的,只是告诉你这是多么简单,你是如何浪费时间转换为JSON的。如果你有需要转换的数字类型,那么你需要转换它们。bigdecim
是不允许的。应该有.toDouble()
在Bigdecimal
内存中。但无论如何都可以转换为Double
,因为这是受支持的。除此之外,请自己解决。这并不难。
"_id" : ObjectId("595a1884ce238efb4d916231"),
"" : [
"\"DDO_CODE:8\"",
"\"DEPT_CODE:3\"",
"\"DDO_NAME:null\"",
"\"DDO_DESIGNATION:PRINCIPAL-IN-CHARGE, REGIONAL INSTITUTE OF PHARMACEUTICAL SCIENCE \\u0026 TECHNOLOGY (RIPSAT),\"",
"\"SELF_DRAW_TAG:O\"",
"\"DDO_ADDRESS:AGARTALA\"",
"\"CREATE_DATE:2002-11-30\"",
"\"CREATE_USER:SUPER\"",
"\"MODIFY_DATE:207-01-19\"",
"\"MODIFY_USER:SEEMA\"",
"\"SOURCE_CODE:11\"",
"\"DISTRICT_CODE:TW\"",
"\"SL_NO:8\"",
"\"PIN:1\""
]
}
**
{
"_id" : ObjectId("57ecd15b00296cadeb2de83c"),
"DDO_CODE" : "3446",
"DEPT_CODE" : "30",
"DDO_NAME" : "DIVISIONAL FOREST OFFICER,",
"DDO_DESIGNATION" : "DIVISIONAL FOREST OFFICER, TELIAMURA DIVISION",
"SELF_DRAW_TAG" : "O",
"DDO_ADDRESS" : "TELIAMURA, WEST TRIPURA",
"CREATE_DATE" : "19-JUN-02",
"CREATE_USER" : "MASTER",
"MODIFY_DATE" : "19-JUN-02",
"MODIFY_USER" : "MASTER",
"SOURCE_CODE" : "404",
"DISTRICT_CODE" : "TRW",
"SL_NO" : "0",
"PIN" : "2775"
}
my code is...
while (rsMembers.next()) {
String toPrint = "";
int count = 0;
Gson gson = new Gson();
for (int i = 1; i < rsMembers.getMetaData().getColumnCount() + 1; i++) {
toPrint += gson.toJson(rsMembers.getMetaData()
.getColumnName(i) + ":" + rsMembers.getObject(i)) + '\n';
queryResults.append(String.valueOf(" "
+ rsMembers.getMetaData().getColumnName(i) + ":"
+ rsMembers.getObject(i)));
count = rsMembers.getInt(1);
}
//System.out.println("DDDD " + toPrint);
System.out.println("Number of row:"+count);
String[] output = toPrint.split("\n");
System.out.println("PPP"+Arrays.toString(output));
Map<String,Object> dataMap = new HashMap<String,Object>();
//dataMap.put("", Arrays.toString(output));
dataMap.put("", output);
col.insert(new BasicDBObject(dataMap));