如何在Android中将数组作为参数发送

时间:2019-03-07 07:27:06

标签: android arrays parameters

service_category_type :
[
      {parent_service_id: "5c78df0f9ed89a3ea251ad", child_service_id : "5c78df409ed89a3ea251ad"},
      {parent_service_id: "5c78dd1763f38236efdf35", child_service_id : "5c78dfb79ed89a3ea251ad"},
      {parent_service_id: "5c78dd0563f38236efdf35", child_service_id : "5c78df9c9ed89a3ea251ad"},
]

如何将此数组作为参数发送。我正在使用此链接: how to send array of params using volley in android    但做不到。我需要帮助解决此问题。

1 个答案:

答案 0 :(得分:0)

使用此方法:

public static Object mapOrListToJson(Object object) {
    if (object instanceof Map) {
        JSONObject json = new JSONObject();
        Map map = (Map) object;
        for (Object key : map.keySet()) {
            Object o = mapOrListToJson(map.get(key));
            if( o == null )
                return null;
            try {
                json.put(key.toString(), o);
            } catch (JSONException e) {
                return null;
            }
        }
        return json;
    }
    else if (object instanceof Iterable) {
        JSONArray json = new JSONArray();
        for (Object value : ((Iterable)object)) {
            Object o = mapOrListToJson(value);
            if( o == null )
                return null;
            json.put(o);
        }
        return json;
    }
    else {
        return object;
    }
}

您可以将数组转换为JSONArray

然后,您可以使用toString()方法将其转换为String表示形式:

String jsonStr = myJsonArray.toString();

最后,您可以将String发送到服务器。