我有一个表单数据请求,该请求将某种对象发送给Java中的servlet,但我不知道获取该信息的合适方法。
这是我的情况: 表单以这样的方式发送数据,结果将是这样的JSON对象:
{
prop1 : value1,
prop2 : value2,
list : [
{
objectProperty1 : valueObject1,
objectProperty2 : valueObject2
},
{
objectProperty1 : valueObject3,
objectProperty2 : valueObject4
}
]
}
来自邮递员,我将这些值作为这样的参数的表单数据数组发送
然后从我的Java代码中得到这样的值:
String prop1 = request.getParameter("prop1");
String prop2 = request.getParameter("prop2");
int arrayLength = request.getParameterValues("objectProperty1").length;
List<MyCustomObject> list = new ArrayList();
for (int i = 0; i < arrayLength; i++) {
MyCustomObject customObject = new MyCustomObject();
customObject.setObjectProperty1(request.getParameterValues("objectProperty1")[i]);
customObject.setObjectProperty2(request.getParameterValues("objectProperty2")[i]);
}
这种方法的问题之一是,如果api没有收到例如objectProperty1
,则arrayLength
将为1,这将无法获得正确的属性量。
我们对此有更好的方法吗?