在 http Post 请求 Android 中发送数组
Send array in http Post request Android
我想通过 post 请求从 android 向服务器发送字符串数组数据。请求参数应该像这个字符串数组,例如
["56e7e4ade","56e7e435ade"]
我正在发送这个
for(int i=0; i<connectedpeople.size(); i++)
{
nameValuePairs.add(new BasicNameValuePair("myarray[]", connectedpeople.get(i).getObjectId()));
}
但这不起作用。有人可以对此提出建议吗?
改用JSONArray
。干杯:)
JSONArray jArry=new JSONArray();
for(int i=0; i<connectedpeople.size(); i++) {
jArry.put(connectedpeople.get(i).getObjectId());
}
nameValuePairs.add(new BasicNameValuePair("myarray",jArry.toString()));
/** 根据你的要求格式化**/
RequestParams parameter = new RequestParams();
ArrayList<YourModelClass> yourSelectedArrayList=new ArrayList();//fill `this array according to your requirement`
JSONObject jsonObject=null;
JSONArray jsonArray=new JSONArray();
for (int i = 0; i < yourSelectedArrayList.size(); i++) {
jsonObject = new JSONObject();
try {
jsonObject.put("truckType",yourSelectedArrayList.get(i).getName());
jsonArray.put(jsonObject);
} catch (JSONException e) {
e.printStackTrace();
}
}
parameter.put("",jsonArray.toString());
使用此代码:
List<NameValuePair> param = new ArrayList<NameValuePair>();
@Override
protected void onPreExecute() {
// TODO Auto-generated method stub
super.onPreExecute();
for(int i=0; i<connectedpeople.size(); i++)
{
param.add(new BasicNameValuePair("myarray", connectedpeople.get(i).toString());
}
}
我使用简单的 JsonArray 来 post 数据并且它有效。无需使用名称值对或 JsonObject。
JSONArray myarray = new JSONArray();
for(int i=0;i<favoritesUserList.size(); i++){
myarray.put(favoritesUserList.get(i).getObjectId());
}
new getUserData().execute(myarray);
非常感谢大家。
我想通过 post 请求从 android 向服务器发送字符串数组数据。请求参数应该像这个字符串数组,例如
["56e7e4ade","56e7e435ade"]
我正在发送这个
for(int i=0; i<connectedpeople.size(); i++)
{
nameValuePairs.add(new BasicNameValuePair("myarray[]", connectedpeople.get(i).getObjectId()));
}
但这不起作用。有人可以对此提出建议吗?
改用JSONArray
。干杯:)
JSONArray jArry=new JSONArray();
for(int i=0; i<connectedpeople.size(); i++) {
jArry.put(connectedpeople.get(i).getObjectId());
}
nameValuePairs.add(new BasicNameValuePair("myarray",jArry.toString()));
/** 根据你的要求格式化**/
RequestParams parameter = new RequestParams();
ArrayList<YourModelClass> yourSelectedArrayList=new ArrayList();//fill `this array according to your requirement`
JSONObject jsonObject=null;
JSONArray jsonArray=new JSONArray();
for (int i = 0; i < yourSelectedArrayList.size(); i++) {
jsonObject = new JSONObject();
try {
jsonObject.put("truckType",yourSelectedArrayList.get(i).getName());
jsonArray.put(jsonObject);
} catch (JSONException e) {
e.printStackTrace();
}
}
parameter.put("",jsonArray.toString());
使用此代码:
List<NameValuePair> param = new ArrayList<NameValuePair>();
@Override
protected void onPreExecute() {
// TODO Auto-generated method stub
super.onPreExecute();
for(int i=0; i<connectedpeople.size(); i++)
{
param.add(new BasicNameValuePair("myarray", connectedpeople.get(i).toString());
}
}
我使用简单的 JsonArray 来 post 数据并且它有效。无需使用名称值对或 JsonObject。
JSONArray myarray = new JSONArray();
for(int i=0;i<favoritesUserList.size(); i++){
myarray.put(favoritesUserList.get(i).getObjectId());
}
new getUserData().execute(myarray);
非常感谢大家。