我有这个规范:
FirstName = "Steve"
LastName = "Jobs"
PhoneNumber = "3334445555"
PhoneNumber = "4445556666"
PhoneNumber = "7778889999"
我需要从用 Java
编写的 Android
应用程序 POST 到服务器。
问题是数组没有名称(即没有键)。可以有无限数量的项目(即电话号码)。
我的客户希望我将其作为 HTML 表单 POST
发送。我可以构造一个像这样的 BODY 字符串 "firstname=Steve&lastname=Jobs&...
如何将电话号码放在这里?"
如何发布数组?
此外,我的客户说服务器端 API 连接(接收表单帖子)尚未开发。
我想知道如何构造POST
正文字符串(以及如何建议我的客户端对服务器端进行编程以接收它)。
注意:我的客户不需要 JSON
形式。
听起来这是我的客户提出的一个奇怪的要求,有什么创意建议吗?
最佳答案
索引
您可以在参数 phone1
、phone2
、... 中添加索引
服务器需要检查这些是否存在。它可能需要捕获异常,但这没问题。
解决此问题的另一种方法是添加 phoneCount
参数,这样您就知道要恢复多少个电话号码。
“firstname=Steve&lastname=Jobs&phoneCount=2&phone1=3334445555&phone2=4445556666
在服务器端,你只需要做一些类似的事情
int phoneCount = param.getInt("phoneCount");
String[] phones = new String[i];
for(int i = 0; < i phoneCount; i++){
phones[i] = param.getString("phone" + i);
}
注意:这不是一个工作代码,这不使用任何“已知”库,这只是一个使用逻辑。
连接
您还可以连接每个电话号码,例如 3334445555|4445556666
在服务器端,您只需拆分该值即可获取电话号码数组。
String[] phones = param.getString("phones").split("|");
关于java - 如何在没有 FORM POST 操作键的情况下编写项目数组的 HTML BODY 字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56928336/