Java 如何使用for循环将具有不同名称的字符串放入对象中

Java 如何使用for循环将具有不同名称的字符串放入对象中,java,json,mongodb,jsp,for-loop,Java,Json,Mongodb,Jsp,For Loop,我想将存储在JsonPost字符串数组中的每个POST放入具有不同名称的对象中。我试过的代码如下 String[] JsonPost = request.getParameterValues("post[]"); BasicDBObject postObj = new BasicDBObject(); for(String str : JsonPost){ postObj.put(str, str); } System.out

我想将存储在JsonPost字符串数组中的每个POST放入具有不同名称的对象中。我试过的代码如下

String[] JsonPost = request.getParameterValues("post[]");

    BasicDBObject postObj = new BasicDBObject();
        for(String str : JsonPost){

        postObj.put(str, str);

        }
    System.out.println(postObj);
例如,如果JsonPost=[“Apple”,“Orange”]

我得到如下输出

 { "Apple" : [ "Apple"] , "Orange" : [ "Apple" , "Orange"]}
{ "Apple" : [ "Apple"] , "Orange" : ["Orange"]}
但我想得到如下输出

 { "Apple" : [ "Apple"] , "Orange" : [ "Apple" , "Orange"]}
{ "Apple" : [ "Apple"] , "Orange" : ["Orange"]}

请帮助我解决此问题。

您的jsonPost对象可能有问题,我刚刚尝试了以下方法:

    String[] jsonPost = new String[] { "Apple", "Orange" };

    BasicDBObject postObj = new BasicDBObject();
    for (String str : jsonPost) {

        postObj.put(str, str);

    }
    System.out.println(postObj);
结果是:

{ "Apple" : "Apple" , "Orange" : "Orange"}

可以打印jsonPost吗?

可以发布基本的CDBObObject类吗?问题可能就在那里。另外,作为旁注,java变量名通常是小写的,因此最好将“JsonPost”更改为“JsonPost”,以避免与类名混淆。BasicDBObject是MongoDB中使用的对象。把这个当作一个对象。是的,我可以打印JSOPOST。但在我的例子中,我分配request.getParameterValues(“post[]);通过从请求中捕获。我对新的字符串[]{“苹果”,“橙色”}感到困惑;请帮帮我。