java - 连接期间多次插入?

标签 java android string json

我有一个 JSONObject,已将其转换为 JSON 数组,然后将其进一步解析为单独的字符串。我已将它们连接起来形成一个新字符串。这是我使用过的代码。

            for(int n = 0; n<newtrs_array.length();n++){
                JSONObject object = newtrs_array.getJSONObject(n);
                String newcompanyid = object.getString("companyid");
                String newusername = object.getString("username");
                String newdate = object.getString("date");
                String newClientId = object.getString("clientid");
                String newprojectId = object.getString("projectid");
                String newniv1 = object.getString("niv1");
                String newniv2 = object.getString("niv2");
                String newworktypeid = object.getString("worktypeid");
                String newtimetypeid = object.getString("timetypeid");
                String newhours = object.getString("hours");
                String newcomment = object.getString("comment");
                String newprivatecomment = object.getString("privatecomment");
                String newopen = object.getString("open");
                String newreportid = object.getString("reportid");

                newtrsArray += newcompanyid+"#"+newusername+"#"+newdate+"#"
                               +newClientId+"#"+newprojectId
                               +"#"+newniv1+"#"+newniv2+"#"+newworktypeid
                               +"#"+newtimetypeid+"#"+newhours+"#"+newcomment
                               +"#"+newprivatecomment+"#"+newopen+"#"+newreportid;
                        }
            }

这是用于拆分newtrsarray的代码

        for(int n=0; n<split_frombufferedValue.length; n++){
            if(split_frombufferedValue[n] != null){
            try{
                //Log.i(TAG, "***********%%%%%%%%%"+split_frombufferedValue[1]);
                newtrsArray = split_frombufferedValue[0].toString();  
                newschemaArray = split_frombufferedValue[1].toString();
                Log.i(TAG, "************* "+newschemaArray);
                newdeletedtrsArray = split_frombufferedValue[2].toString();
                String newcreatedtrs_array = split_frombufferedValue[3].toString();
                String newsync_reponse = split_frombufferedValue[4].toString();
                String newmodtrs_array = split_frombufferedValue[5].toString();

            } catch(Exception e){
                e.printStackTrace();
            }
        }

        }
            split_newtrsArray = newtrsArray.split("#");
                    split_newdeletedtrsArray = newdeletedtrsArray.split("@@@@");
            split_newschemaArray = newschemaArray.split("%%%%");
            Log.i(TAG, "############# "+split_newtrsArray[0]+" -length "+split_newtrsArray.length);

    }

我的问题是:newtrsarray 的大小约为 4000 个字符或更多。这导致“#”有时被插入两次甚至三次。如下图

&&--Second activty:HTTPClient--**(824): !!!!!------UTB17#DA#2011-10-10#1000#363636#10##105#30#5###no#30667UTB17#DA#2011-09-12#1000#363636#10##100##6##Not Available#yes#31659UTB17#DA#2011-09-13#1000#363636#10##100##2###yes#31665

我该如何解决这个问题。这些值必须连接到一个字符串,然后在另一个函数处拆分。然后必须将它们插入数据库中。希望我能够清楚地解释我的问题。

干杯!

最佳答案

我认为当您再次插入它时,问题就出现了,即当数组有一个空元素时,检查 if 语句并检查它是否为空。这样做:

                if(newcompanyid.equals("") || newcompanyid == null || newusername.equals("") || newusername == null 
                        || newdate.equals("") || newdate == null || newClientId.equals("") || newClientId == null || 
                        newprojectId.equals("") || newprojectId == null || newniv1.equals("") || newniv1 == null || 
                        newniv2.equals("") || newworktypeid.equals("") || newworktypeid == null ||newtimetypeid.equals("") 
                        || newtimetypeid == null || newhours.equals("") ||newhours == null ||newcomment.equals("") 
                        ||newcomment == null ||newprivatecomment.equals("") ||newprivatecomment == null||newopen.equals("")
                        ||newopen == null||newreportid.equals("") || newreportid == null)

关于java - 连接期间多次插入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7685912/

相关文章:

android - 如何使用 CoordinatorLayout 和 windowSoftInputMode 更改状态背景颜色?

android - 在部署之前测试服务器端代码

java - 在运行时获取成员字段的源顺序的保证方法?

java - BufferedInputStream 与 ByteArrayInputStream

android - 哪个依赖性导致 “Failed resolution Failed resolution of: Lcom/google/android/gms/common/internal/zzab;”

java - Java 中的基本 Hangman 游戏(主要涉及字符串操作)

C++ strtok问题

Java 函数 = 函数2

java - 为什么我不能使用 selenium 将图像上传到上传输入按钮?手动打开时工作正常,但为什么不能通过selenium工作?

python - 计算列表中所有元素与单个句子的相似度