路线.java:
router.POST().route("/7/open/{project}").with(Ex7Controller::open);
router.POST().route("/7/saveAs/{project}").with(Ex7Controller::saveAs);
PeopleBean.java:
public class PeopleBean implements Serializable {
public ArrayList<String> people = new ArrayList<>();
}
Ex7Controller.java:
public Result open(@PathParam("project") String project) {
ArrayList<String> people = new ArrayList<String>() {{
add("Ishmael");
add("Eve");
add("Ada");
}};
PeopleBean bean = new PeopleBean();
bean.people = people;
return Results.json().render(bean);
}
JavaScript:
$.post('${contextPath}/7/open/project1',
function(people) {
let msg = '';
people.forEach(person => {
msg += person + ',';
});
alert(msg);
},
'json');
警报:Ishmael,Eve,Ada,
另一方面,
JavaScript:
$('#save').on('click', function() {
$.post('${contextPath}/7/saveAs/project1',
[
'Ishmael', 'Eve', 'Ada'
]
);
});
Ex7Controller.java:
static Logger log = (Logger) LoggerFactory.getLogger(Ex7Controller.class);
public Result saveAs(@PathParam("project") String project, PeopleBean bean) {
log.info("people={}", bean.people.size());
String msg = "";
for (String person : bean.people) {
msg += person + ",";
}
log.info("{}", msg);
return Results.json();
}
日志:people=0
我成功地将一个对象反序列化为一个 JavaBean。我应该怎么做才能将数组反序列化为 Java 数据结构?