在我的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中的任何错误声明。
答案 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获得结构。
它可以让您轻松找回它们。将来不需要其他约束来检索它们。