Java Jersey不接收多个JSON对象和数组
Java代码: 导入javax.xml.bind.annotation.XmlRootElement //联系人详细信息到对象Java Jersey不接收多个JSON对象和数组,java,json,rest,Java,Json,Rest,Java代码: 导入javax.xml.bind.annotation.XmlRootElement //联系人详细信息到对象 @XmlRootElement public class ContactDetails { private String name; private String address; public String getName() { return name; } pub
@XmlRootElement
public class ContactDetails {
private String name;
private String address;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
}
@XmlRootElement
public class PreviousEducationDetails {
private String qualification;
private String istitutionName;
public String getQualification() {
return qualification;
}
public void setQualification(String qualification) {
this.qualification = qualification;
}
public String getIstitutionName() {
return istitutionName;
}
public void setIstitutionName(String istitutionName) {
this.istitutionName = istitutionName;
}
包com.rest.test.to
导入javax.xml.bind.annotation.XmlRootElement
//对象的PreviousEducationDetails
@XmlRootElement
public class ContactDetails {
private String name;
private String address;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
}
@XmlRootElement
public class PreviousEducationDetails {
private String qualification;
private String istitutionName;
public String getQualification() {
return qualification;
}
public void setQualification(String qualification) {
this.qualification = qualification;
}
public String getIstitutionName() {
return istitutionName;
}
public void setIstitutionName(String istitutionName) {
this.istitutionName = istitutionName;
}
}
//向对象发送个人详细信息
@XmlRootElement
public class ContactDetails {
private String name;
private String address;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
}
@XmlRootElement
public class PreviousEducationDetails {
private String qualification;
private String istitutionName;
public String getQualification() {
return qualification;
}
public void setQualification(String qualification) {
this.qualification = qualification;
}
public String getIstitutionName() {
return istitutionName;
}
public void setIstitutionName(String istitutionName) {
this.istitutionName = istitutionName;
}
包com.rest.test.to
导入javax.xml.bind.annotation.XmlRootElement
@XmlRootElement
公开课个人资料{
private String firstName;
private String lastName;
private String address;
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
}
//Javascript代码
$(document).ready(function() {
$("#studentInsert").click(function() {
alert("Reaches script !!");
var firstName = $("#firstName").val();
var lastName = $("#lastName").val();
var address = $("#address").val();
student.presonal_details = {
firstName : $("#firstName").val(),
lastName : $("#lastName").val(),
address : $("#address").val(),
}
student.contactPersonDetails=[{
name:"Name1",
address:"location1"
},{
name:"Name2",
address:"location2"
},{
name:"Name3",
address:"location3"
}]
student.previousEducationDetails=[
{qualification:"MCA",istitutionName:"Engineering College"},
{qualification:"MBA",istitutionName:"Engineering College"},
{qualification:"Msc",istitutionName:"Engineering College"}
]
$.ajax({
type : "post",
url : "http://localhost:8080/RestJersey/rest/jsonRequestReceiver/saveStudentDetail",
contentType: "application/json",
data : JSON.stringify(student),
success : function(data) {
console.log(data);
}
});
});
});
//剩余资源法
package com.rest.test;
import java.util.ArrayList;
import java.util.List;
import javax.ws.rs.Consumes;
import javax.ws.rs.GET;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import com.rest.test.to.PersonalDetails;
import com.rest.test.to.PreviousEducationDetails;
import com.rest.test.to.StudentDetailsTO;
@Path("/jsonRequestReceiver")
public class JsonRequestReceiver {
@POST
@Path("/saveStudentDetail")
@Consumes(MediaType.APPLICATION_JSON)
public void saveStudentDetail(StudentDetailsTO student){
}
}
//学生详细信息到对象
导入javax.xml.bind.annotation.XmlRootElement
@XmlRootElement
公共班级学生详情{
PersonalDetails personalDetails;
List<ContactDetails> contactDetails;
List<PreviousEducationDetails> previousEducationDetails;
public PersonalDetails getPersonalDetails() {
return personalDetails;
}
public void setPersonalDetails(PersonalDetails personalDetails) {
this.personalDetails = personalDetails;
}
public List<ContactDetails> getContactDetails() {
return contactDetails;
}
public void setContactDetails(List<ContactDetails> contactDetails) {
this.contactDetails = contactDetails;
}
public List<PreviousEducationDetails> getPreviousEducationDetails() {
return previousEducationDetails;
}
public void setPreviousEducationDetails(
List<PreviousEducationDetails> previousEducationDetails) {
this.previousEducationDetails = previousEducationDetails;
}
}
错误是什么?你能提供一个较小的示例来说明该行为吗?请添加你的错误登录我想发送和接收一个json对象和两个json数组。At StudentDetails包含这些对象,并列出类对象。你的Javascript中有一个拼写错误student.presonal\u详细信息。你可能还应该将其设置为personalDet无法匹配JavaBean属性此student.contactPersonDetails应为student.contactDetails。JSON属性需要匹配JavaBean属性名称,除非使用序列化程序的自定义注释