0

我使用 JSON.stringify 和 JQuery.ajax() 将以下 JSON 对象从 .jsp 页面传递到 java servlet:

{"bin":[{"binId":"0","binDetails":[{"productCode":"AU192","qty":"4"},{"productCode":"NE823","qty":"8"}],"comments":"store pickup"},{"binId":"1","binDetails":[{"productCode":"AF634","qty":"2"}],"comments":""},{"binId":"2","binDetails":[{"productCode":"QB187","qty":"3"}],"comments":"international shipping"},{"binId":"3","binDetails":[{"productCode":"AF634","qty":"2"},{"productCode":"QB187","qty":"2"}],"comments":""}]}

这是我的 java servlet 中的代码:

StringBuffer strBuffer = new StringBuffer();
String line = null;

try {
   BufferedReader reader = request.getReader();
   while((line = reader.readLine()) != null){
      strBuffer.append(line);
   }
} catch (Exception e) {
}

try {
   JSONObject jsonObj = new JSONObject(new JSONTokener(strBuffer.toString()));
   // I call a method here and pass jsonObj
} catch (Exception e) {
}

在我传递 jsonObj 的方法中,我使用 jsonObj.length() 来找出 jsonObj 中有多少项目,它告诉我 1,在这种情况下我会期望 3。我什至试过这个:

JSONObject bins = jsonObj.get("bin");
bins.length();

它告诉我 jsonObj.get("bin") 不是 JSONObject。在我从 .jsp 传递数据之前,我的数据格式是否不正确,或者我的 java servlet 中的 JSONObject 使用不正确?如何访问 JSONObject 中的值?

4

1 回答 1

2
JSONArray bins = jsonObj.getJSONArray("bin");
bins.length();
于 2012-05-03T20:54:15.227 回答