Spring boot gradleバックエンドは、フロントエンドajaxから伝達されたjson配列文字列を受信し、オブジェクト配列に変換する
まずbuild.gradleファイルに追加:
バックエンドでデータ・オブジェクトを作成するには、次の手順に従います.
そして、受信データのコントロールを書きます.
フロントエンドでデータを送信するWebページ:
compile group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: '2.9.8'
バックエンドでデータ・オブジェクトを作成するには、次の手順に従います.
package com.exampleb.demob;
public class Person {
private String id;
private String name;
public String getId(){
return id;
}
public void setId(String id){
this.id=id;
}
public String getName(){
return name;
}
public void setName(String name){
this.name=name;
}
}
そして、受信データのコントロールを書きます.
@RequestMapping(value="/test")
@ResponseBody
public String test(@RequestParam String users) throws IOException {
//
System.out.println(users);
ObjectMapper mapper=new ObjectMapper();
com.fasterxml.jackson.databind.type.ArrayType arrayType = mapper.getTypeFactory().constructArrayType(Person.class);
Person[] persons = mapper.readValue(users, arrayType);
for(Person person:persons){
System.out.println("person id and name: "+person.getId()+" ---> "+person.getName());
}
return users;
}
フロントエンドでデータを送信するWebページ:
test
var userArr = [];
for (var i = 1; i <= 3; i++) {
var user = {};
user['id'] = i;
user['name'] = 'name_' + i;
userArr.push(user)
}
$(function () {
$("#btnSubmit").click(function () {
$.ajax({
url: '/test',
type: 'POST',
data: {users:JSON.stringify(userArr)},
success: function (responseText) {
alert(responseText);
}
});
});
});