如何在Java中检索数组值?

时间:2013-07-15 04:20:39

标签: java arrays spring for-loop

在我的Java应用程序中,我得到像Array这样的Request参数

<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"]

如果我们将此值传递给数据库,例如select query,但它给出了null值..即使我们传递正确的值但是我们得到空值。

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

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

4 个答案:

答案 0 :(得分: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++){

}

答案 1 :(得分:1)

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

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

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

答案 2 :(得分:1)

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

因此我们可以轻松发送请求属性,如字符串@RequestParam("names") String names

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

这样的值
//Get the each added user using names[]
    for (String id : names.split(",")) {
        ----------
    }

答案 3 :(得分:0)

我想告诉你的第一件事是生成你的JSON,如列表或地图结构,以便你可以使用任何JSON或GSON Api获得结构。

它可以让您轻松找回它们。将来不需要其他约束来检索它们。