这是我的js文件,我使用ajax将json数据发送到singup.java
页面。
function signup()
{
var name = document.getElementById('name').value;
var mobileNo = document.getElementById('mobileNo').value;
var emailId = document.getElementById('emailId').value;
var password = document.getElementById('password').value;
alert(name);
alert(mobileNo);
alert(emailId);
alert(password);
var data = {"signUp":[{"name":name,"password":password,"mobileNo":mobileNo,"emailId":emailId}]};
alert(JSON.stringify(data));
var sendData = function(data){
alert(JSON.stringify(data));
$.ajax({
url:'/Signup/signup',
type: 'POST',
contentType: 'application/json',
data: JSON.stringify(data),
success: function(response)
{
alert(response);
},
});
};
sendData(data);
}
这是我的signup.java页面,我试图获取json值。我不知道语法是否正确。如何在java中进行json解析?
package Json;
try
{
String name =request.getParameter("name");
String mobileno =request.getParameter("mobileNo");
String email =request.getParameter("emailId");
String password =request.getParameter("password");
Class.forName("com.mysql.jdbc.Driver");
java.sql.Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/demo","root","admin");
PreparedStatement ps=con.prepareStatement("insert into comments values(?,?,?,?)");
ps.setString(1, name);
ps.setString(2,mobileno);
ps.setString(3, email);
ps.setString(4, password);
ps.executeUpdate();
out.println("inserted");
}
catch(Exception ee)
{
out.println("error"+ee.toString());
}
}
答案 0 :(得分:1)
request.getParameter用于查询字符串,当您的URI包含部分?name = toto& firstName = titi或来自使用相同格式的表单的POST数据时。
为了阅读json,你要么自己解析它,要么使用解析器。
我建议您使用jackson https://github.com/FasterXML/jackson。
导入后,基本要做的是
new ObjectMapper().readerFor(MyClass.class).readValue(request.getInputStream());
为了使这个工作,您的类必须具有:getter / setter,不带参数的公共构造函数 - >不要忘记,如果你用参数声明一个,默认的那个变成私有的,所以你必须声明它。
编辑:我建议你如果你使用杰克逊这样发送它:var data = [{" name":name," password":password,&# 34; mobileNo":mobileNo," EMAILID":EMAILID}];
宣布一个班级" MyClass"使用字段名称,密码,mobileNo,emailId