0

在我的 Java 应用程序中,我得到了像数组这样的请求参数

<script type="text/javascript">
   var names = new Array();
    $.ajax({
        url : "Result",
        type : 'POST',
        data : {
            "names" : JSON.stringify(names),
            "globalClassId" : globalClassId
        }});
</script>

现在我在java中获取这个请求参数并正确检索值..

//Get the each added user using names[]
    for (String id : names) {
        -----
                    -----
    }

但是在java方面我得到了值names=[["1000"]],而在for循环中我得到了id=["value1"]

如果我们将此值传递给数据库,例如选择查询,但它给出的是空值。即使我们传递了正确的值,但我们得到的是空值。

如何在我的字符串中删除这个额外的括号["1000"]这是原始值,但我只想要1000

请帮我看看他们在数组中的任何错误声明。

4

4 回答 4

1

而不是JSON.stringify(names)我们可以使用 names.join() 这将是返回数组,

所以我们可以很容易地发送像字符串这样的请求属性@RequestParam("names") String names

现在使用 for 循环我们很容易得到像..

//Get the each added user using names[]
    for (String id : names.split(",")) {
        ----------
    }
于 2013-07-15T05:46:44.440 回答
1

只是我正在使用字符串概念来解决这个问题,但这不是真正的解决方案..

//Get the each added user using names[]
    for (String id : names) {
        userVO = userService.getUser(id.substring(2, id.length()-2));
        userList.add(userVO);
    }

如果有人知道真正的解决方案请告诉我...

于 2013-07-15T04:52:04.013 回答
1

使用org.json

 JSONObject obj = new JSONObject(request.getParameter("names"));


List<String> list = new ArrayList<String>();
JSONArray array = obj.getJSONArray("interests");
for(int i = 0 ; i < array.length() ; i++){

}
于 2013-07-15T04:22:03.567 回答
0

我想告诉你的第一件事是生成像列表或地图结构这样的 JSON,以便你可以使用任何 JSON 或 GS​​ON Api 获取结构。

这将使您检索它们变得简单,并且将来检索它们不需要其他约束。

于 2013-07-15T05:26:13.960 回答