如何通过java中的ajax检索javascript发送的jsonarray数据

时间:2018-05-20 09:43:53

标签: javascript java json

我的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。

3 个答案:

答案 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);
       }

它为我工作。