エラーメッセージ
org.codehaus.jackson.map.exc.UnrecognizedPropertyException: Unrecognized field "address" (Class entity.User), not marked as ignorable
at [Source: org.apache.catalina.connector.CoyoteInputStream@1c6a59e0; line: 1, column: 67] (through reference chain: entity.User["address"])
HTML
<input type="text" class="" id="address" name="address" placeholder="Street"/>
<input type="text" id="postalCode" name="postalCode" placeholder="Zipcode"/></br>
<input type="text" id="city" class="" name="city" placeholder="City"/>
<input type="text" id="country" name="country" placeholder="Country"/>
Address オブジェクトはフィールド City と zip code を取得しました
private String address;
private City cityId;
private String postalCode;
City オブジェクトには Country が含まれます
private Country countryId;
Java スクリプト
return JSON.stringify({
"address": $('#address').val(),
"postalCode": $('#postalCode').val(),
"city": $('#city').val()
});
$.ajax({
type: "POST",
contentType: "application/json",
url: "http://localhost:8080/testSoft/webresources/entity.user/",
dataType: "json",
data: formToJSON(),
success: function(response)
ユーザーオブジェクト
@Entity
@Table(name = "users")
@XmlRootElement
public class User implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@Basic(optional = false)
@NotNull
@Size(min = 1, max = 255)
@Column(name = "username")
private String username;
...
@JoinColumn(name = "address_address_id", referencedColumnName = "address_id")
@ManyToOne
private Address addressAddressId;
質問
json-objects を Web サービスに投稿するときに、ネストされたオブジェクトを処理するにはどうすればよいですか? 私の場合、Address は User-object のオブジェクトであり、City は Object であり、City-object には Country-object があります。