我的javascript代码。我正在创建一个带有一些元素的jsonarray。现在我想检索该数据检索并希望存储在java json对象中以进行进一步处理。
var priceList = [];
priceList.push({"itemId":itemId1,"idElem":idElem1,"isActive":isActive1,"description":description1});
priceList.push({"itemId":itemId2,"idElem":idElem2,"isActive":isActive2,"description":description2});
var param = {'objarray' : priceList, 'user' : user};
$.ajax({
url : 'cPayment,
type: 'POST',
dataType: 'json',
data: param,
success: function(result) {
alert('SUCCESS');
}
});
在java代码中:
String objArray = request.getParameter("objarray");
JSONArray jsonArray = new JSONArray();
for(//for items in objArray) {
JSONObject jsonObj = new JSONObject();
jsonObj.put("itemId", itemId);
jsonObj.put("idElem", idElem);
jsonObj.put("isActive", isActive);
jsonObj.put("description", "description");
jsonArray.put( jsonObj);
}
请帮我检测java中的javascript json数组数据为java jsonobject。
答案 0 :(得分:1)
在Ajax调用中尝试JSON.parse(param);
答案 1 :(得分:0)
在java中尝试以下代码:
JSONObject jsonObject = null;
try {
jsonObject = new JSONObject(req.getParameter("objarray"));
} catch(JSONException _instance) {
// Exception Handle Message
}
System.out.println("Entered in to the controller ");
String itemId ="" ;
if(jsonObject.has("itemId")) {
name = objarray.getString("itemId");
}
答案 2 :(得分:0)
我使用了以下适合我的代码。
在Javascript代码中:
var param = {'objarray' : JSON.stringify(priceList), 'user' : user};
在servlet端,我使用org.json.simple.JSONArray和org.json.simple.JSONObject来检索我的数据。
我的Java代码:
JSONParser parser=new JSONParser();
try {
String objarray = URLDecoder.decode(request.getParameter("objarray"), "UTF-8");
jsonArrayObj = (JSONArray) parser.parse(objarray);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (ParseException e) {
e.printStackTrace();
}
for(int i= 0; i <jsonArrayObj.size() ;i++) {
JSONObject psItem = (JSONObject)jsonArrayObj.get(i);
Integer itemId = Integer.valueOf((String) psItem.get("itemId "));
String idElem = (String) psItem.get("idElem");
String description= (String) psItem.get("description");
String isActive= Boolean.valueOf((String)psItem.get("isActive"));
Syste.out.println("Item Id --> " +itemId);
Syste.out.println("Id Element --> "+idElem );
Syste.out.println("Description --> "+description);
Syste.out.println("Is Active --> "+isActive);
}
它为我工作。