J'ai mis en place cette simple classe Java:JAX-RS et JSON foiré
import javax.xml.bind.annotation.XmlRootElement;
@XmlRootElement
public class Person {
private int id;
private String name;
private String gender;
public Person() {
}
public void setId(int id) {
this.id = id;
}
public int getId() {
return this.id;
}
public void setName(String name) {
this.name = name;
}
public String getName() {
return this.name;
}
public void setGender(String gender) {
this.gender = gender;
}
public String getGender() {
return this.gender;
}
}
Maintenant, en utilisant JAX-RS J'instatiating et retourner cette classe comme JSON comme si;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
@Path(value="/addresses")
public class AddressBook extends Person {
public AddressBook() {
}
@GET
@Produces("application/json;charset=iso-8891-1")
public Person getList() {
Person p1 = new Person();
p1.setName("táòt");
p1.setId(1);
p1.setGender("M");
return p1;
}
}
Ma classe d'initialisation de servlet est comme ceci:
import java.util.HashSet;
import java.util.Set;
import javax.ws.rs.core.Application;
public class AddressBookApplication extends Application {
@Override
public Set<Class<?>> getClasses() {
Set<Class<?>> classes = new HashSet<Class<?>>();
classes.add(AddressBook.class);
return classes;
}
}
Le résultat que je reçois comme JSON est la suivante:
{"person":{"name":"t\u00e1\u00f2t","gender":"M","id":"1"}}
Comme vous pouvez voir la chaîne JSON est Java codé et je tire mes cheveux avec pourquoi ceci se produit et comment je peux surmonter ceci ...
L'aide serait apprécié ...