Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何将sql数据转换为json&;储存在mongo_Java_Json_Mongodb - Fatal编程技术网

Java 如何将sql数据转换为json&;储存在mongo

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

这是我从mysql获取数据后的json结构 mongo

但我想要以下风格的mongo

**

在我的json数据中,它只创建2个字段(i字段是id,其他部分是id) 是第二个字段),但第二部分为每个字段创建不同的字段 线路

我的代码是。。。
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));