I'm new bee working on passing below data from jquery to Servlet. Below are my files
javascript:
<script type="text/javascript">
function getData(tableName)
{
var tableId =tableName+"Table";
jsonObj = [];
$(\'#' + tableId + '\').find(\'tbody>tr\').each(function (i) {
var $tds = $(this).find('td'), setvilId = $tds.eq(1).text(),setvilNotes = $tds.eq(8).text();
item = {};
item["id"] = setvilId;
item["notes"] = setvilNotes;
jsonObj.push(item);
});
console.log(jsonObj);
var jsonString =JSON.stringify(jsonObj);
request(jsonString);
};
</script>
<script type=\"text/javascript\">
function updateNotes () {
var editable = true;
var editables = $('td[id*=notestd], td[id*=eta]');
editables.attr('contentEditable', editable);
}
function request(jsonString) {
$.ajax({
url: "/updatesetvil",
type: "POST",
data: jsonString,
dataType: "text",
success: function(){
alert(\"success\");
},
error:function(){
alert(\"failure\");
}
});
};
</script>
Servlet:
public class UpdateSetvil extends HttpServlet {
/**
*
*/
private static final long serialVersionUID = 1L;
List<SetvilJsonAttributes> setvilAttrs = new LinkedList<SetvilJsonAttributes>();
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
out.println("Inside servlet");
// 1. get received JSON data from request
BufferedReader br = new BufferedReader(new InputStreamReader(request.getInputStream()));
String json = "";
if(br != null){
json = br.readLine();
}
System.out.println(json.toString()); // [{"id":"","notes":""},{"id":"18001","notes":"fdafd"},{"id":"8350","notes":"daggda"},{"id":"8056","notes":"gfdagdfa"}]
// 2. initiate jackson mapper
ObjectMapper mapper = new ObjectMapper();
// 3. Convert received JSON to Class
SetvilJsonAttributes setvilatt = mapper.readValue(json, SetvilJsonAttributes.class);
// 4. Set response type to JSON
response.setContentType("application/json");
setvilAttrs.add(setvilatt);
for (int i=0;i< setvilatt.size(); i++) {
System.out.println(setvilatt.get(i).getId());
}
}
private class SetvilJsonAttributes {
Integer id;
String notes;
String eta;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getNotes() {
return notes;
}
public void setNotes(String notes) {
this.notes = notes;
}
public String getEta() {
return eta;
}
public void setEta(String eta) {
this.eta = eta;
}
}
}
Error: java.io.IOException: Error parsing JSON request string
I kindly request anyone to help me on this.I have been stuck and unable to proceed further.