java - Ninja Framework:能够将 ArrayList 序列化为 JSON,但为什么不反之呢?
问题描述
路线.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 数据结构?
解决方案
推荐阅读
- python - 如何动态和有条件地分配字典值?
- swift - 如果我想从 Codable 中排除某些属性,为什么这些属性必须是可选的?
- logparser - 在 Log Parser Lizard IIS 日志查询的 FROM 部分中使用变量
- java - 在获取所有链接时,忽略循环中的注销链接并继续在 selenium java 中导航
- jquery - 如何使用 Bootstrap-slider 将文本框输入与滑块链接起来
- java - 字符类中的元字符 (`[]`)
- excel - VBA 从 Excel 中的另一个工作簿复制数据
- twilio - 将语音邮件转发到电子邮件
- bash - 登录到另一台服务器并运行命令 - 使用脚本
- android - Android Studio - 配置图片资源