-1
我可以接收一个json数组,但是如何使用volley发送一个json数组?我怎样才能发送一个json数组到webserver使用凌空?
JsonArrayRequest arrayReq = new JsonArrayRequest(URL,
new Listener<JSONArray>() {
}
我可以接收一个json数组,但是如何使用volley发送一个json数组?我怎样才能发送一个json数组到webserver使用凌空?
JsonArrayRequest arrayReq = new JsonArrayRequest(URL,
new Listener<JSONArray>() {
}
尝试使用下面的代码段实现它,我希望它会工作:
public class JsonPostArrayRequest extends JsonRequest<JSONObject> {
JSONArray params;
public JsonPostArrayRequest(String url, Response.Listener<JSONObject> listener, Response.ErrorListener errorListener,JSONArray params) {
super(Method.POST, url, null, listener, errorListener);
this.params=params;
}
@Override
public byte[] getBody() {
if (this.params != null && this.params.length() > 0) {
return encodeParameters(this.params, getParamsEncoding());
}
return null;
}
private byte[] encodeParameters(JSONArray params, String paramsEncoding) {
try {
return params.toString().getBytes(paramsEncoding);
} catch (UnsupportedEncodingException uee) {
throw new RuntimeException("Encoding not supported: " + paramsEncoding, uee);
}
}
@Override
protected Response<JSONObject> parseNetworkResponse(NetworkResponse response) {
try {
String jsonString =
new String(response.data, HttpHeaderParser.parseCharset(response.headers));
return Response.success(new JSONObject(jsonString),
HttpHeaderParser.parseCacheHeaders(response));
} catch (UnsupportedEncodingException e) {
return Response.error(new ParseError(e));
} catch (JSONException je) {
return Response.error(new ParseError(je));
}
}
}
你能给更多信息或更多的代码?你在管理Web服务吗?您的Web服务器必须实现一些POST/PUT请求来获取这些值,然后执行任何你想要的。有时你需要授权才能创建并给出一些值对(键和值) –
我认为创建JsonArray的简单方法是使用JSONArray。 (import org.json.JSONArray),并简单地使用volley在POST中发送一个String参数。 –