如何在android中使用多部分实体发送JSONArray字符串到php服务器



我无法在android中使用多部分实体将JSONArray字符串发送到php服务器。我已经尝试了以下,但它不工作:

MultipartEntity entity = new MultipartEntity(HttpMultipartMode.BROWSER_COMPATIBLE,BOUNDARY,Charset.defaultCharset());
entity.addPart("invite_friend", new StringBody(friendsArray));

在PHP服务器端应该是这样的:

'invite_friend' => array
    (
        0 => '800'
        1 => '794'
    )

可以做什么,请提供建议

你可以这样做。

// Prepare Category Array
for (String mFrndsID : friendsArray) {
    reqEntity.addPart("invite_friend[]", new StringBody(mFrndsID));
}

只需添加[]与你的数组标签和paas值在一个循环在它。这里invite_friend是数组标签。您可以使用loop在这个标记中传递您的值。它将作为一个数组在服务器上发布。

请参考此答案了解更多细节

如何使用post方法将包含一个关键字的字符串数组发送到服务器

这可能对你有帮助

尝试以下代码向服务器端脚本发送多个值对。

String strUrl = "http://****/****.php";
url = new URL(strUrl);
HttpURLConnection connection = (HttpURLConnection) url
        .openConnection();
connection.setRequestMethod("POST");
connection.setDoOutput(true);
OutputStreamWriter outputStreamWriter = new OutputStreamWriter(
        connection.getOutputStream());
outputStreamWriter.write("user_names_giver=" +user_names_giver + "&tcredit="+tcredit+"&user_name_receiver="+user_name_receiver);                
outputStreamWriter.flush();
outputStreamWriter.close();
InputStream iStream = connection.getInputStream();
BufferedReader reader = new BufferedReader(new
InputStreamReader(iStream));
StringBuffer sb = new StringBuffer();
String line = "";
while( (line = reader.readLine()) != null)
{
    sb.append(line);
}
reader.close();
iStream.close();

相关内容

  • 没有找到相关文章

最新更新