我尝试通过 JSON 将长数组从 android 发送到 PHP。我用 Javascript 做了同样的事情并且工作了,但是用 JAVA 就变得混乱了。当我发送参数时,长数组列表会发生变化。
这是创建列表的部分。
JSONArray list = new JSONArray();
for (int i = 0; i < users.size(); i++) {
list.put(users.get(i).getId());
}
这是发送数据的 JAVA 代码。
public JSONObject sendFacebookFriendList(JSONArray list) {
// Building Parameters
List<NameValuePair> params = new ArrayList<NameValuePair>();
params.add(new BasicNameValuePair("list", list.toString()));
JSONParser jsonParser = new JSONParser();
JSONObject json = jsonParser.getJSONFromUrl(accountServer, params);
return json;
}
这是在 PHP 中接收数据的代码。
$list = $_POST['list'];
$result = array("success" => 1, "list" => $list);
在使用 Javascript 发送时,$list 变量直接变成了长数组,但我不能用 JAVA 以同样的方式发送它。
当我将列表从 PHP 发送回 JAVA 而没有任何更改时,我看到每个数组元素的开头和结尾都有 \"
所以这个列表:
list= ["517565130","523709375","524503024","524620558","524965930", ...
变成这样:
"list":"[\"517565130\",\"523709375\",\"524503024\",\"524620558\", ...
所以我无法在 PHP 中解析这个数组。
我找不到以正确方式发送 long/int 数组的任何方法。如果有人可以解决此问题或提出其他建议,我将不胜感激。
谢谢