这是表单数据
selectedDtlId: [{"id":"3","isReviewed":true,"notes":"notes asdf test add 2"},{"id":"2","isReviewed":true,"notes":""},{"id":"1","isReviewed":true,"notes":""}]
isReviewedAll: true
notesAll:
在控制器中运行以下代码时
Gson gson = new Gson();
gson.toJson(request.getParameter("selectedDtlId"));
响应
"[{"id":"3","isReviewed":true,"notes":"notes asdf test add 2"},{"id":"2","isReviewed":true,"notes":""},{"id":"1","isReviewed":true,"notes":""}]"
预期响应
[
{
"id": "3",
"isReviewed": true,
"notes": "notes asdf test add 2"
},
{
"id": "2",
"isReviewed": true,
"notes": ""
},
{
"id": "1",
"isReviewed": true,
"notes": ""
}
]
当您应该从Json调用时,您正在调用Json:
gson.fromJson(request.getParameter("selectedDtlId"), JsonElement.class);
或者如果你有一个型号:
gson.fromJson(request.getParameter("selectedDtlId"), MyModel.class);
您应该将它映射到一个类。(你也在给Json打电话,而你应该从Json打(
主
import com.google.gson.Gson;
public class Main {
public static void main(String[] args) {
String jsonInString = "[{"id":"3","isReviewed":true,"notes":"notes asdf test add 2"},{"id":"2","isReviewed":true,"notes":""},{"id":"1","isReviewed":true,"notes":""}]";
Gson gson = new Gson();
SelectedDtlId[] selectedDtlIds = gson.fromJson(jsonInString, SelectedDtlId[].class);
for (SelectedDtlId selectedDtlId : selectedDtlIds) {
System.out.println("id: " + selectedDtlId.getId());
System.out.println("notes: " + selectedDtlId.getNotes());
System.out.println("isReviewed: " + selectedDtlId.isReviewed());
}
}
}
型号
import com.google.gson.annotations.SerializedName;
public class SelectedDtlId {
@SerializedName("id")
private int id;
@SerializedName("isReviewed")
private boolean isReviewed;
@SerializedName("notes")
private String notes;
// getters & setters
}
结果应该是:
id: 3
notes: notes asdf test add 2
isReviewed: true
id: 2
notes:
isReviewed: true
id: 1
notes:
isReviewed: true